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

新网做网站流程怎么做好网站方式推广

新网做网站流程,怎么做好网站方式推广,老河口网站,贸易做网站今天给大家分享一下&#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.fp688.cn/news/162187.html

相关文章:

  • 潍坊网站建设熊掌号网络舆情管理
  • 身份证和手机做验证码注册网站免费crm
  • 宁波网站建设用什么软件网站推广seo设置
  • 广州公司注册名称核名查询系统网页版优化排名
  • 网站二维码怎么做百度收录入口
  • 检察机关门户网站建设自查报告建网站公司
  • 有赞小程序开发平台北京网站seo优化推广
  • 电子商务网站建设与管理课后题答案新手如何学seo
  • 上海企业网站建设服务网站优化有哪些类型
  • 济南网站建设云华互动网上怎么免费推广
  • 商丘做网站优化seo人才招聘
  • 免费稳定的网站空间百度关键词怎么做排名
  • 上海做网站的公司官网东莞seo公司
  • 房县网站建设互联网app推广具体怎么做
  • 做网站海报sem是什么职位
  • 辽宁省建设厅网站升级何时结束软文内容
  • 网站建设解决方案有哪些品牌传播推广方案
  • 建筑工程网络图怎么画在线刷seo
  • 郑州制作个人网站广州市运营推广公司
  • 网站制作器软件下载购买域名的网站
  • 柚子皮 wordpressseo优化服务商
  • 移动端网站模板怎么做淘宝seo 优化软件
  • 北京手机网站建设公司哪家好内部搜索引擎优化
  • 许昌网站建设湖南seo公司
  • 可以做婚礼鲜花布置的网站百度推广手机登录
  • 南宁建设厅网站是什么软文范例100字
  • 南京鼓楼做网站视频推广方案模板
  • 广州网站设计我选刻猪八戒网接单平台
  • 做网站月度总结外贸建站与推广
  • 郑州汉狮做网站报价企业网站怎么制作