先上一图,这个是最终效果:
再看看闪耀效果:
1、先将文字画在canvas;
2、利用getImageData()获取图像数据;
3、将图像数据中黑色(你可以用其他颜色)按一定间隔取值(获取坐标);
4、在获取的坐标画矩形(你画其他形状也是可以的);
5、使用requestAnimationFrame,变换矩形颜色。
这样就闪烁起来了~~
var i = 0
Page({
/ 页面的初始数据/data: {hideNav: false,colors: ["#fff", "#FF6E40", "#FFAB40", "#FFFF00", "#EEFF41", "#B2FF59", "#69F0AE", "#64FFDA", "#18FFFF", "#40C4FF", "#E040FB", "#FF4081", "#ff5252"],
text: '肖战',scroll: false,setting: false},
/ 生命周期函数--监听页面加载/onLoad: function (options) {let that = this, text = wxgetStorageSync('blinkText') || thisdatatext;thissetData({text})thisinit()},
init() {wxcreateSelectorQuery()select('#canvas')fields({node: true,size: true,})exec((res) => {let that = this,text = thisdatatextconst width = res[0]widthconst height = res[0]height
const canvas = res[0]nodeconst ctx = canvasgetContext('2d')const dpr = 1 //wxgetSystemInfoSync()pixelRatiocanvaswidth = width dprcanvasheight = height dprctxscale(dpr, dpr)i = (canvaswidth - thatgetByteLen(text) 100) / 2ctxfillStyle = "#ffffff";ctxfillRect(0, 0, canvaswidth, canvasheight);ctxfont = "bolder 200px Arial";ctxfillStyle = 'black';ctxtextBaseline = 'top';ctxfillText(text, 0, 100);// ctxlineWidth = 5;// ctxstrokeText(text, 0, 100);let imageData = ctxgetImageData(0, 0, canvaswidth, canvasheight)data;// consolelog(imageData)
ctxfillStyle = "#ffffff";ctxfillRect(0, 0, canvaswidth, canvasheight);
thisdatacanvas = canvasthisdatactx = ctxthisdataimageData = imageDataconsolelog(canvaswidth, canvasheight)// thisdrawText()const renderLoop = () => {thisdrawText()
canvasrequestAnimationFrame(renderLoop)}// canvascancelAnimationFrame(renderLoop)canvasrequestAnimationFrame(renderLoop)})},drawText() {var gap = 7,{imageData,canvas,ctx,text,scroll} = thisdataif (scroll) {if (i >= canvaswidth) {i = -canvaswidth}i += 2}
ctxclearRect(0, 0, canvaswidth, canvasheight)for (var h = 0; h < canvasheight; h += gap) {for (var w = 0; w < canvaswidth; w += gap) {var position = (canvaswidth h + w) 4;var r = imageData[position],g = imageData[position + 1],b = imageData[position + 2];
if (r + g + b == 0) {ctxfillStyle = thisdatacolors[Mathfloor(Mathrandom() thisdatacolorslength)];ctxfillRect(w + i, h, 5, 5);}}}
},toggleSetting() {thissetData({setting: thisdatasetting false : true})},setText(e) {
let that = thiswxcloudcallFunction({name: 'msgSecCheck',data: {op: 'textCheck',content: edetailvalue},success(res) {consolelog('ContentCheck-res', res)if (resresultcode == 300) {consolelog(resresultmsg)wxshowToast({icon: 'none',title: resresultmsg,})thatsetData({'text': ''})} else {thatsetData({setting: false,'text': edetailvalue})thatinit()}},fail(err) {consolelog('ContentCheck-errxxxx', err)
}})
},getByteLen(str) {var len = 0;for (var i = 0; i < strlength; i++) {var length = strcharCodeAt(i);if (length >= 0 && length <= 128) {len += 1;} else {len += 2;}}consolelog('文字长度',len)return len;},donothing() {
},/ 生命周期函数--监听页面初次渲染完成/onReady: function () {
},
/ 生命周期函数--监听页面显示/onShow: function () {
},
/ 生命周期函数--监听页面隐藏/onHide: function () {
},
/ 生命周期函数--监听页面卸载/onUnload: function () {wxsetStorage({data: thisdatatext,key: 'blinkText',})},
/ 页面相关事件处理函数--监听用户下拉动作/onPullDownRefresh: function () {
},
/ 页面上拉触底事件的处理函数/onReachBottom: function () {
},
/ 用户点击右上角分享/onShareAppMessage: function () {
}})
抖音小程序与头条小程序一母同胞,同样针对内容入口而生,拥有视频挂载、账号绑定、个人主页、信息流、搜索和话题等入口。具体的用法如下:
红人带货:
在抖音曾有网红创下直播一小时销售额百万的记录,作为短视频内容分发平台,抖音最不缺的就是优质内容和创作者,通过对接网红达人拍摄相关视频种草,京东小程序可将商品触达高垂直的用户从而形成转化。
矩阵裂变:
抖音小程序内置“拍抖音”功能,通过这个途径,任何人都可以拍摄一条视频,并挂载小程序内相关商品,从而解锁裂变玩法,在搭配的分销能力上线之前,此功能最适合的玩法即通过矩阵裂变。
定制话题:
抖音作为内容生产地,时常与商家合作推出定制话题活动,通过热搜榜、网红视频等方式引导用户参与,从而达到传播效果。可以预见到618期间必将继续这一玩法,小程序扮演的角色显然是承载流量转化。
抖音小雪花小程序不见了是抖音版本没更新的原因。抖音是由字节跳动孵化的一款音乐创意短视频社交软件;该软件里面有一个特效是小雪花小程序,就是在直播或制作短视频的时候可以在视频里添加小雪花的特效,增加画面感,这款小程序需要版本及时更新才能用,如果抖音没有及时版本更新,会看不到小雪花小程序的特效。
音乐相册其实可以通过微信内的小程序制作,比较简单方便,不需要自己掌握太多制作技术即可制作,下面以小年糕小程序为例,给出制作流程:
所需材料:手机微信。
一、微信小程序内打开“小年糕+”小程序。
二、打开该小程序后,点击下方的“制作影集”。
三、新的界面内点击下方的“开始制作 ”。
四、d出菜单内点击“上传照片”选项。
五、从手机图库内选择一些照片,点击“完成”。
六、点击“音乐”更改背景音乐,然后点击下方选择一个模版。
七、接着为每一张添加字幕(也可以不添加)。
八、最后点击“确认”按钮,小年糕就会自动为你制作该影集。
九、等待一分钟后,返回小年糕主界面点击右下角“我”。
十、进入我界面后,点击“影集”查看已经制作好的影集。
十一、这时点击刚才制作的音乐相册下的“保存/下载”即可把该相册下载入手机了。
小程序直播功能的开发现在很多开发者都会选择用第三方的sdk来搭建,像即构SDK就不错,提供了丰富的音视频功能,使用即构SDK可以快速实现直播功能,可以让开发者更快速地构建出拥有完美音视频体验的产品和服务。包括多录制点播、美颜特效、跨房互动等,可以满足不同场景的需求。
以上就是关于小程序:利用canvas制作文字特效全部的内容,包括:小程序:利用canvas制作文字特效、抖音小程序怎么做有什么用呢有什么好处、抖音小雪花小程序怎么不见了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)