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

网站建设价位湖南做网站seo

网站建设价位,湖南做网站seo,怎么计算网站开发费用,青岛seo优化公司今天给大家分享一下&#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.yayakq.cn/news/549820/

相关文章:

  • 简述网站的制作流程辽源做网站
  • 做网站前置审批服装图案素材网站
  • 北京在线建站模板制作公司工作网站
  • 揭阳有哪家网站制作公司wordpress关注公众号可见
  • 公司网站建设的现状wordpress 广告代码
  • 建设网站审核seo兼职网
  • 罗湖网站建设的公司哪家好网站备案收费吗
  • 网站开发应该注意什么西安便宜网站建设
  • 广州那里有学做拼多多网站的wordpress4.5.3中文版
  • 免费的网站制作哪里做网站排名
  • 什么网站广告做多自建团体电子商务网站建设成本
  • 图片点开是网站怎么做互联网方案设计
  • seo网站诊断价格广州市网站
  • 自己做网站做那种类型附近装修公司地址电话
  • wordpress做淘客网站兰州网络营销策划公司排名
  • 建网站公司郑州网站展示
  • 做网站没有创意wordpress页面不加载主题js
  • 韩雪个人官方网站昆山做网站公司哪家好
  • 没有网站服务器空间如何用ftp制作图网官网在线制作
  • php做数据网站wordpress账号破解
  • 网络营销学校福建网站优化建设
  • 山西大同专业网站建设价格先做网站还是先域名备案
  • 企业网站建设注意点wordpress 撰写设置
  • 网站默认首页怎么做优秀的网站首页布局
  • 济南建站哪家好浦东做营销网站
  • 东莞商业网站建设常识网站h1标签怎么做
  • 江门专业网站制作费用网站付费推广竞价
  • 汕尾做网站开发软件公司
  • 西大路网站建设公司介绍一个软件的步骤
  • 用插件做网站网络销售公司经营范围