太阳集团5493conlogo

  • 微博
  • 微信
  • QQ好友
  • QQ空间
  • 百度
详细内容

这些 Canvas 小技巧,保证你新年用得上-杭州抖音短视频直播商城开发为你呈现

时间:2022-05-17     作者:杭州抖音短视频直播商城开发【转载】   来自:微信派

小程序技术研发工程师 binnie 原创




一键加滤镜

快速合成音视频

轻松挑选视频封面

……


Canvas 能够做这些?


作为资深的开发者,相信大家对 Canvas 都不陌生。这项能力在绘制图形方面发挥着极大的作用,高效支持图片编辑、数据可视化等应用场景。但是只局限于一般能力应用,那格局就小了


Canvas 的应用场景非常丰富!赶紧往下看看这些隐藏的 Canvas 小技巧,保证你新年用得上!还有手把手教程以及文末彩蛋哟。

image.png


示例:新年模板长按保存祝福



适用场景:图片分享海报

相关 API:RenderingContextCanvaswx.canvasToTempFilePath


Step 1: 创建实例获取对象

创建 Canvas 实例,获取 CanvasRenderingContext2D 对象(Canvas 绘图上下文)来绘制形状、文本、图像等


Step 2: 设置宽高调整图片

获取 Canvas 绘图上下文后,将 Canvas 的宽高设置为节点宽高 * 设备像素比,绘制出来的图片更清晰


Step 3: 绘制内容

使用 CanvasRenderingContext2D 绘制,根据业务需要在画布中绘制头像、文字、背景等


Step 4: 生成并保存本地

使用 wx.canvasToTempFilePath 将画布生成图片,wx.saveImageToPhotosAlbum 将图片保存到本地



-- • Video 绘制 Canvas / webgl • --



示例:视频文件绘制 Canvas




适用场景:制作 Video 滤镜、挑选 Video 封面等
相关 API:RenderingContextCanvas

Step 1: 获取实例
通过 wx.createSelectorQuery 获取 VideoContext 实例
Step 2: 绘制内容
获取 VideoContext 实例后,将 VideoContext 传递给 Canvas 进行绘制。开发者根据业务需求选择绘制类型:



  • Canvas 2d 写法:canvas.drawImage(video, ...)
  • webgl 写法:gl.texImage2D(..., video)


-- • 视频解码并绘制到 webgl • --


示例:视频一键解码并绘制到 webgl



适用场景:添加特效、贴图等视频编辑场景



相关 API:wx.createVideoDecoderVideoDecoderRenderingContextCanvas.requestAnimationFramewx.createMediaAudioPlayerMediaAudioPlayer



Step 1: 创建视频解码器进行解码



1. 调用 createVideoDecoder 对视频进行解码
2. 使用 videodecoder.start 启动解码,视频源文件不限制本地或远程路径
3. 通过 videodecoder.on('start', res => {}) 监听解码,通过 videodecoder.getFrameData() 获取到解码数据
Step 2: 解码数据绘制到 webgl



1. 通过 gl.texImage2D(..., image) 将解码数据绘制到 webgl

2. 使用 webgl.requestAnimationFrame 继续绘制,效果更加流畅


Step 3: 添加音频播放器同步播放音频



完成 Step2 后,webgl 只有视频播放,缺少音频。因此使用 wx.createMediaAudioPlayer(),支持 addAudioSource 传入 videodecoder,保证视频帧渲染音画同步




-- • 录制并导出 webgl 视频 • --




示例:录制并一键导出 webgl 视频



适用场景:将动画、编辑过的视频导出视频文件保存



相关 API:wx.createMediaRecorderMediaRecorderwx.createMediaContainerMediaContainerMediaTrack

Step 1: 创建 webgl 画面录制器进行录制
通过 createMediaRecorder 创建页面录制器,并且绑定 webgl(建议离屏状态,效果更好)进行录制
Step 2: 添加音频合成音视频
1. 通过 createMediaContainer 创建音视频处理容器来合成音视频
2. 通过 MediaContainer.extractDataSource 将视频源分离出视频轨道和音频轨道,将需要的轨道通过 MediaContainer.addTrack 添加到容器中
3. 通过 MediaContainer.export 导出即可获得合成后的视频文件


-- •高效图像处理彩蛋 • --

学会以上这些 Canvas 小技巧,还担心新年的美图美照美视频处理不过来?赶紧码下这个 Canvas 代码包,保证你就是家里最闪耀的靓女靓仔 


预祝大家新的一年 Canvas 在手,红包一直有!

太阳集团2138手机版
更多
  • Q3财报:有「新」有「增」-杭州网络公司

    Q3财报:有「新」有「增」-杭州网络公司

    腾讯2024年第三季度财报显示,期内:微信及WeChat的合并月活跃账户数13.82亿。财报还提到:视频号得益于广告主对视频号、小程序及微信搜一搜广告库存的强劲

  • 微信小店助手APP来啦,方便得很!-杭州

    微信小店助手APP来啦,方便得很!-杭州

    一个好消息!微信小店助手APP已正式上架各大应用市场,安卓/iOS都可!商家经营更方便啦~核心功能速览——1、小店的管理,移动端都能搞定支持在移动端进行商品、交

  • 港澳小程序交易翻倍,有商家月入八位数!-

    港澳小程序交易翻倍,有商家月入八位数!-

    10月24日,微信公开课·港澳专场在香港举办。聚焦于 “双向奔赴:新生态、新机遇” 这一主题,微信团队以及深耕港澳小程序的标杆商家、服务商齐聚,一起探讨了大湾区

  • 4个月销售额翻10倍,这家小众户外品牌怎

    4个月销售额翻10倍,这家小众户外品牌怎

    微信小店 Lafuma户外热这个小众品牌如何在视频号破圈?首场达播试水,销售额突破300万平均客单价1800元常态化直播带货,4个月实现月销售额翻10倍数据来自

  • 微信小店11.11好物节即将启动!三大带

    微信小店11.11好物节即将启动!三大带

    微信小店 11.11 好物节活动激励计划低门槛 高激励主播作为带货主播报名活动,并选择“购物”类目开播,累计成交数据满足对应目标门槛,即可在活动结束后获得对应电

  • 这个爬山搭子,十几万黄山游客都在用-杭州

    这个爬山搭子,十几万黄山游客都在用-杭州

    国庆假期就要来了,有人想去爬黄山吗?琐事缠身的你可能还没来得及做攻略,又或者没订到合适的酒店……没关系!现在,@黄山旅游官方平台 通过企业微信、小程序、视频号等

  • 小程序,玩法上“新”!-杭州抖音短视频直

    小程序,玩法上“新”!-杭州抖音短视频直

    这波上“新”,是新加坡的“新” !9月23日,微信公开课·新加坡专场启幕,微信团队奔赴狮城,携手新加坡旅游局以及当地多家标杆企业,一起探讨小程序在跨境生态下的新

  • 官宣:微信小店新商家激励政策-杭州微信小

    官宣:微信小店新商家激励政策-杭州微信小

    五大激励政策助力新商家成长微信小店新商家激励政策血降门槛0保证金试运营减成本前百万自营交易额的技术服务费率减至1%刘促增长新商家成长流量激励加福利开通运费险享「

  • 如何做出NB的视频号?-杭州网络公司为你

    如何做出NB的视频号?-杭州网络公司为你

    @闪电制片厂 @国翠儿 @时差岛 @王可乐说这些NB的视频号你刷到过吗?最近,他们和视频号一起在NB的城市宁波聚会,现场分享了创作秘籍,视频号官方和大家交流了短

  • 又贵又火,之禾视频号年销3000万-杭州

    又贵又火,之禾视频号年销3000万-杭州

    3000多的牛仔裤,5000一件的亚麻衬衫,上万一条的桑蚕丝连衣裙……来自上海的时装品牌之禾因为高定价而出圈,并且业绩还在持续攀升。曾有外媒报道称,2022年,

太阳集团5493con是一家专门致力于为企业提供全方位网站建设服务。年轻的我们带着梦想和对网络的热情走在互联网道路的前沿,一路走来,我们的努力和真诚得到了更多客户的认可。在未来的发在未来的发...

浙公网安备:33010602011153

seo seo