当前位置: 首页 > news >正文

网站开发需要提供哪些资料品牌推广是做什么的

网站开发需要提供哪些资料,品牌推广是做什么的,WordPress积分插件制作,招标网站怎么做今天给大家分享一下&#xff0c;如何实现视频封面截取功能&#xff0c;这里主要用到了 HTML5 的 canvas 相关的 api 和 js 相关的一些知识&#xff0c;话不多说&#xff0c;直接上代码&#xff1a; <template><div><div class"margin-tb-sm"><…

今天给大家分享一下,如何实现视频封面截取功能,这里主要用到了 HTML5 的 canvas 相关的 api 和 js 相关的一些知识,话不多说,直接上代码: 

<template><div><div class="margin-tb-sm"><button type="primary" @click="cutImage">请截取封面</button></div><div class="flex margin-top-sm"><div class="padding-right-xs"><videoref="video":src="videoUrl"controlsloopstyle="max-width: 200px;"crossorigin="anonymous" ></video><!-- crossorigin="anonymous" 如果视频链接和你的项目不在一个域名下,加上这个解决跨域 --></div><div class="padding-left-xs"><canvas ref="canvas" style="display: none;"></canvas><img v-show="coverImageBase64" :src="coverImageBase64" alt="封面图" style="max-width: 200px;" ref="coverImage" /></div></div></div>
</template>
<script>
export default {data() {return {coverImageBase64: '', // 视频封面截图videoUrl: 'example.mp4' // 替换成你的视频地址}},methods: {cutImage() {this.$refs.video.pause()this.clearCanvas()this.capturePoster()},clearCanvas() {const canvas = this.$refs.canvas // 获取canvas元素var ctx = canvas.getContext('2d') // 获取2D渲染上下文ctx.clearRect(0, 0, canvas.width, canvas.height) // 重置画布尺寸清空画布},capturePoster() {const video = this.$refs.videoconst canvas = this.$refs.canvasconst ctx = canvas.getContext('2d')canvas.width = video.videoWidthcanvas.height = video.videoHeightctx.drawImage(video, 0, 0, canvas.width, canvas.height)// toDataURL() 将画布上的所有内容(包括绘制的图形、文本、图像等)编码为一个 base64 编码的字符串const base64Data = canvas.toDataURL('image/png')this.coverImageBase64 = base64Data},base64ToBlob(base64Data, contentType) {const sliceSize = 512// atob() 用于解码 Base64 编码字符串const byteCharacters = atob(base64Data.split(',')[1])const byteArrays = []for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {const slice = byteCharacters.slice(offset, offset + sliceSize)const byteNumbers = new Array(slice.length)for (let i = 0; i < slice.length; i++) {byteNumbers[i] = slice.charCodeAt(i)}const byteArray = new Uint8Array(byteNumbers)byteArrays.push(byteArray)}return new Blob(byteArrays, { type: contentType })}}
}
</script>

知识点归纳: 

atob() 方法是一个非常实用的 JavaScript 内置函数,可以轻松地处理 base-64 编码的数据 ;

canvas.toDataURL() 是用于将 HTML5 <canvas> 元素的内容转换为一个数据 URL(data URL)的方法。这个数据 URL 可以被用于在网页上直接显示图像,或者在服务器端处理时作为图像数据的传输方式。

语法

var dataURL = canvas.toDataURL(mimeType, quality);

参数

  • mimeType (可选): 指定输出图像的 MIME 类型。默认值是 image/png,但你也可以指定其他格式,如 image/jpeg
  • quality (仅用于 JPEG 格式,可选): 指定图像的质量,范围从 0.0(最差质量,文件最小)到 1.0(最佳质量,文件最大)。如果省略该参数,则默认值为 0.92。

返回值

该方法返回一个包含完整 MIME 类型和 base64 编码数据的字符串。例如:

data:image/png;base64,iVBORw0KG...
http://www.hrbkazy.com/news/32615.html

相关文章:

  • 做网站能赚钱么网络营销优化
  • 湖南企业建站系统信息营销培训课程2022
  • 门户网站建设周期推广普通话主题手抄报
  • 化妆品营销型网站模板百度app下载官方
  • 无锡网站设计无锡网站建设天津建站网
  • 佛山做网站建设公司怎么做电商新手入门
  • 直播课网站怎样做的专业营销团队外包公司
  • 做公司网站需不需要注册手机优化大师哪个好
  • 服务器网站搭建教程培训机构退费法律规定
  • 海外主机做黄色网站网店推广软文范例
  • 网页设计制作网站代码html独立网站怎么做
  • 跟我一起做网站西安专业做网站公司
  • 网站建设新技术郑州网站托管
  • 西安在线网站制作网页生成
  • 建设外贸商城网站北京seo关键词排名优化软件
  • 九度互联网站建设营销网站建设免费
  • 网站建设页面生成怎样在百度上注册自己的店铺
  • 自己做视频直播网站网络营销品牌案例
  • Wordpress和jamelseo是什么姓
  • 做课件ppt网站推广网络推广
  • 做解析视频网站违法莫营销技巧和营销方法
  • 商丘企业网站建设服务关键词优化公司哪家好
  • 怎么做网页版手机版网站苏州seo关键词优化方法
  • 网页设计基础的教学目的seo网站收录工具
  • 山西太原发现4例阳性seo业务培训
  • 公司网站建设需求说明书百度广告联系方式
  • 什么平台做网站大数据技术主要学什么
  • 网站维护收费培训学校怎么招生
  • 有个专门做任务赚钱的网站住房和城乡建设部
  • 怎么做晒鱼的网站网站模板大全