圆形进度条的音乐播放,微信小程序js怎么写

圆形进度条的音乐播放,微信小程序js怎么写,第1张

建立两个canvas标签,先绘制底层的浅灰色圆圈背景,再绘制上层的红色进度条。

WXML代码

开始动态绘制

WXSS代码

特别注意:底层的canvas最好使用

z-index:-99;放置于底层

page { width: 100%; height: 100%; background-color: #fff;

}circle-box { text-align: center; margin-top: 10vw;

}circle { position: absolute; left: 0; right: 0; margin: auto;

}draw_btn { width: 35vw; position: absolute; top: 33vw; right: 0; left: 0; margin: auto; border: 1px #000 solid; border-radius: 5vw;

}

JS代码

//获取应用实例var app = getApp()var interval;var varName;var ctx = wxcreateCanvasContext('canvasArcCir');

Page({ data: {

}, drawCircle: function () {

clearInterval(varName); function drawArc(s, e) {

ctxsetFillStyle('white');

ctxclearRect(0, 0, 200, 200);

ctxdraw(); var x = 100, y = 100, radius = 96;

ctxsetLineWidth(5);

ctxsetStrokeStyle('#d81e06');

ctxsetLineCap('round');

ctxbeginPath();

ctxarc(x, y, radius, s, e, false);

ctxstroke()

ctxdraw()

} var step = 1, startAngle = 15 MathPI, endAngle = 0; var animation_interval = 1000, n = 60; var animation = function () { if (step

/

Convert an image

to a base64 string

@param {String} url

@param {Function} callback

@param {String} [outputFormat=image/png]

/

function convertImgToBase64(url, callback, outputFormat){

var canvas = documentcreateElement('CANVAS'),

ctx = canvasgetContext('2d'),

img = new Image;

imgcrossOrigin = 'Anonymous';

imgonload = function(){

var dataURL;

canvasheight = imgheight;

canvaswidth = imgwidth;

ctxdrawImage(img, 0, 0);

dataURL = canvastoDataURL(outputFormat);

callbackcall(this, dataURL);

canvas = null;

};

imgsrc = url;

}

这个方法试试吧!!!!

方法只有一个:

    通过canvas的方式,在画布上画图

步骤:

1、定义一个canvas

2、获取canvas,然后通过画图

示例:canvas 元素来显示一个红色的矩形

<canvas id="myCanvas"></canvas>//定义一个canvas

<script type="text/javascript">

var canvas=documentgetElementById('myCanvas');//获取canvas

var ctx=canvasgetContext('2d');

ctxfillStyle='#FF0000'; //图形填充色

ctxfillRect(0,0,80,100); //绘制一个红色矩形

</script>

直接上代码:

var img = "imgurl";//imgurl 就是你的路径

function getBase64Image(img) {

var canvas = documentcreateElement("canvas");

canvaswidth = imgwidth;

canvasheight = imgheight;

var ctx = canvasgetContext("2d");

ctxdrawImage(img, 0, 0, imgwidth, imgheight);

var ext = imgsrcsubstring(imgsrclastIndexOf("")+1)toLowerCase();

var dataURL = canvastoDataURL("image/"+ext);

return dataURL;

}

var image = new Image();

imagesrc = img;

imageonload = function(){

var base64 = getBase64Image(image);

consolelog(base64);

}

问题:使用 koa-bodyparser 可以解析post提交的问题,但是发现获取不到formdata上传的文件

后经查资料,改用 koa-body 解决:

constkoaBody = require('koa-body'); appuse(koaBody({ multipart:true, formidable: { maxFileSize:20010241024//设置上传文件大小最大限制,默认2M} }))

然后就可以在 ctxrequestfiles 里面获取到上传的 文件信息了。ctxrequestfiles 为一个对象,里面包含一个 file 字段(为你前端上传定义的值),值为文件信息,主要是文件name和path,path为临时存储路径。

二、解析xlsx文件信息

主要使用模块 node-xlsx :npm i xlsx --save

1、加载模块

使用模块:fs--主要用于写入文件;node-xlsx主要用于转换xlsx数据和读取xlsx的文件数据;

constfs = require('fs')constxlsx = require('node-xlsx');//读写xlsx的插件

2、读取功能

读取功能相对简单,直接使用模块的 prase(路径) 方法就能读取

let list = xlsxparse("/doc/helloxlsx");

返回结果,name:表名,data:二维数组。(由于Excel以表格的形式表示,因此表格的数据都是通过二维数组进行接收。)

需要注意的是:data里的第一行数组为表头的信息

[ { name:'firstSheet', data: [ [Array], [Array] ] }, { name:'secondSheet', data: [ [Array], [Array] ] } ]

3、写入功能

写入功能,对应的写入数据与上面读取功能的返回格式需要一致,以数组的形式,name:表名,data:二维数组(Excel每行每列的数据)

如下面代码,生成一个Excel文件,分别两张表,表名分别是firstSheet,secondSheet

let xlsxObj =[ { name:'firstSheet', data: [ [1,2,3], [4,5,6] ], }, { name:'secondSheet', data: [ [7,8,9], [10,1,12] ], } ]

生成Excel文件:

fswriteFileSync(路径,Buffer数据)

xlsxbuild(xlsxObj) 会将数组转换为Buffer数据

执行下面代码就会生成对应的Excel文件

fswriteFileSync('/doc/helloxlsx', xlsxbuild(xlsxObj),"binary")

哥哥你也把代码给缩进一下啊,看着好累的

Mglydiff = function (lhs, rhs, options){

    var opts = jQueryextend({            

    ignorews : false

    }, options);    

    thiscodeify = new MglyCodeifyText({

    lhs : lhs,

    rhs : rhs,

    options : opts        

    });    

    var lhs_ctx = {codes : thiscodeifygetCodes('lhs'),modified : {}};    

    var rhs_ctx = {codes : thiscodeifygetCodes('rhs'),modified : {}};    

    var max = (lhs_ctxcodeslength + rhs_ctxcodeslength + 1);    

    var vector_d = Array(2  max + 2);   

    var vector_u = Array(2  max + 2);    

    this_lcs(lhs_ctx, 0, lhs_ctxcodeslength, rhs_ctx, 0, rhs_ctxcodeslength, vector_u, vector_d);    

    this_optimize(lhs_ctx);    

    this_optimize(rhs_ctx);    

    thisitems = this_create_diffs(lhs_ctx, rhs_ctx);//items中存放创建的差异信息

    };

    

    还有你的代码没有复制齐全。很多方法没有复制过来

以上就是关于圆形进度条的音乐播放,微信小程序js怎么写全部的内容,包括:圆形进度条的音乐播放,微信小程序js怎么写、JS 截取图片(img)标签中一块区域的内容转为base64编码、Javascript如何在网页上实现画图功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10075679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存