WeZRender是一个微信小程序Canvas增强组件,基于HTML5 Canvas类库ZRender. 使用 WXML: <canvas style="width: 375px; height: 600px;" canvas-id="line-canvas-1">canvas> JS: var wezrender = require('../../lib/wezrender'); zr = wezrender.zrender.init("…
小程序canvas学习 效果图: .wxml <canvas style="width: 100vw; height: 100vh;" canvas-id="firstCanvas"></canvas> .js onLoad: function (options) { const ctx = wx.createCanvasContext('firstCanvas') var canvasWidth = wx.getSystemInfoSync…
在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvasContext.fillText参数为 我们只能设置文本的最大宽度,这就产生一定的了问题.如果我们绘制的文本长度不确定或者我们希望文本超出自动换行或者用 ...我们只能设置文本的最大宽度,这就产生一定的了问题.如果我们绘制的文本长度不确定或者我们希望文本超出自动换行或者用省略号表示,光靠这个API是无法完成的.下面本人就讲下我在开发中是如何解决这个问题的.. 1 wxml代码. <canvas canvas-id=&quo…
微信小程序 canvas 自动适配 自动换行,保存图片分享到朋友圈  https://github.com/richard1015/News 微信IDE演示代码https://developers.weixin.qq.com/s/WCkpsTm97M7p function findBreakPoint(text, width, context) { var min = 0; var max = text.length - 1; while (min <= max) { var middle =…
技术:微信小程序   概述 上传图片,编辑图片大小,添加文字,改变文字颜色等 详细 代码下载:http://www.demodashi.com/demo/14789.html 概述 微信小程序--canvas画布实现图片的编辑 详细 一.前期准备工作 软件环境:微信开发者工具官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 1.基本需求. 实现上传图片 实现图片编辑 实现添加文字 实现导出图片 2.案例…
小程序canvas画图保存至手机相册 (1)可直接展示生成的海报 .因手机分辨率不同可能导致生成的海报会有细微差别,这里隐藏canvas海报,页面正常设置海报样式保存时保存隐藏的canvas海报 (2)tip: canvas 组件是由客户端创建的原生组件,它的层级是最高的,不能通过 z-index 控制层级.(在手机上canvas在最上层无法隐藏)解决方法: canvas外加一框view 设置样式:style="width:0;height:0;overflow: hidden;opacity:…
wxml <view class="shareBox" style="backgound:{{isShow ? '#000' : '#fff'}}" wx:if="{{isShow && canvasList}}"> <canvas canvas-id="firstCanvas" class="canvas myCanvas" style="width:{{can…
总结微信小程序开发中遇到的坑,一些坑你得一个一个的跳啊,/(ㄒoㄒ)/~~ 1,页面跳转和参数传递实例 首先说一下我遇到的需求有一个我的消息页面,里面的数据都是后端返回的,返回的数据大致如下,有一个是数据url是要控制跳转到哪个页面,可能是tab页面也可能是非tab页面,但是微信小程序中跳转到tab和非tab页面用的api不是同一个,但是在页面中渲染肯定是要用到循环的,难道要再多个参数来判断是跳转到tab页面还是非tab页面? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1…
微信小程序初学踩过的坑 一.前言     最近因为某些需要和个人兴趣打算开发一下微信小程序,经过在官方网站上的基本了解,我大体知道了微信小程序开发的大致过程,其实最本质的就是MVVM,借用了很多模式上的HTML+CSS+JS来进行开发和呈现,其中HTML主要是负责静态内容的表示,通过DOM树状结构来维护,CSS主要是对这些描述对象的一种解释,提取出来可以复用,JS则是实现试视图和逻辑的交互,通过用户等各种动作来执行相应的操作,而微信就高度的使用了这些东西,分别变成了WXML,WXSS,JS,知道…
1.新的尺寸单位 rpx rpx(responsive pixel): 可以根据屏幕宽度进行自适应. 规定屏幕宽为750rpx.如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素. 设备 rpx换算px (屏幕宽度/750): px换算rpx (750/屏幕宽度) 2.小程序canvas总结 小程序绘制的单位是px, 基础知识点请参考文档 : canvas中存在一个坐标系,二维的,左上…
前言 最近做了一个麻雀虽小,五脏俱全的微信小程序项目.一看就会,一用就废的小程序.有些坑真的坑的你两眼泪汪汪.我就爱干前人栽树后人乘凉的事儿,看到文章的你,也许是同道中人,相视一笑:亦或是小程序外围人,发出 “哈哈哈哈哈哈哈”的笑声.只说我踩过的,没踩到的我也不敢胡说八道 1.css中居然不可以直接用本地图片资源 前端在css中使用背景图片,实在是太频繁了. 如果你洋洋洒洒写了一大串css样式,一切又依赖于背景图的父容器,再告诉你不支持直接使用本地图片.哈哈哈哈是不是脑袋一蒙呢?比如这样的错误…
---恢复内容开始--- 微信小程序canvas生成并保存图片,具体实现效果如下图     实现效果需要做以下几步工作 一.先获取用户屏幕大小,然后才能根据屏幕大小来定义canvas的大小 二.获取图片(二维码)的宽高,并对图片进行等比例缩放在canvas绘制 三.文字的布局 四.将canvas内容生成图片并保存到本地 五.并图片保存到相册 具体实现代码如下 主逻辑 代码量比较多,分段来展示 /*页面data定义所需参数*/ data{ // canvas _width: 0, //手机屏宽 _…
以下内容转载自totoro的文章<小程序Canvas性能优化实战!> 作者:totoro 链接:https://blog.totoroxiao.com/canvas-perf-mini/ 来源:https://blog.totoroxiao.com/ 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 腾讯位置服务基于微信提供的小程序插件能力,专注于(围绕)地图功能,打造一系列小程序插件,可以帮助开发者简单.快速的构建小程序,是您实现地图功能的最佳伙伴.目前微信小程序插件提供…
目录 背景介绍 canvas简介 代码实现 难点讲解 圆角矩形裁剪失败之PS的妙用 编码不要过硬 对过长的文字进行截取 真机首次生成时字体不对 drawImage只能使用本地图片 背景介绍 目标:利用canvas画布生成社团活动的海报图片,便于社团活动宣传以及对小程序的推广. 场景:用户A觉得某个社团的活动很不错,因此点击"分享"按钮,生成一个该活动的海报图片,接着,用户A把该图片发到某个群或者朋友圈进行传播,用户B看到该图片后对这个活动蛮感兴趣,通过长按识别图片中的小程序码,能够进入…
技术博客--微信小程序canvas实现图片编辑 我们的这个小程序不仅仅是想给用户提供一个保存和查找的平台,还希望能给用户一个展示自己创意的舞台,因此我们实现了图片的编辑部分.我们对对图片的编辑集成了很多个不同的模块.根据用户的需求,我们主要实现了6个不同的功能,包括添加文字,图片涂鸦,添加滤镜,拼接图片,宣传图片,裁切图片. 虽然这些都是比较基础的图片的编辑能力,但是通过我们的优化,我们能够比较方便直观的修改我们的表情.通过结合多个不同的编辑操作,我们可以比较方便的实现出很多酷炫的效果.我们实现…
小程序canvas绘制纯色圆角区域: //方法: roundRectPath:function(ctx, x, y, w, h, r) { ctx.beginPath(); ctx.moveTo(x + r, y); ctx.arcTo(x + w, y, x + w, y + h, r); ctx.arcTo(x + w, y + h, x, y + h, r); ctx.arcTo(x, y + h, x, y, r); ctx.arcTo(x, y, x + w, y, r); ctx.c…
随着微信小程序不断地释放新功能,许多行业越来越关注小程序,目前已经有不少餐饮和线下传统零售企业开始谋划利用好小程序.但是,线下商业有着复杂的场景,如何针对自己行业的特点和需求开发出属于自己的小程序,是摆在商家面前的一道难题. 公众号+小程序 在小程序诞生之前,很多企业纷纷将公众号作为O2O升级的重要渠道,但公众号的内容属性让它更侧重企业与用户建立线上的连接,而用完即走的小程序则被微信寄予连接更多的线下服务和场景,它将成为线下商业的最大入口,带来新零售的变革. 于是,微信将公众号与小程序连接在一起…
很多人问为什么要开发微信小程序,微信小程序的“入口”在哪儿? 1.只有访问过的小程序,才会出现所谓的「入口」. 所有访问过得小程序都可以从微信首屏下面的「发现」点过去.(必须是最新版微信) 这个所谓的「入口」,其实更像是一个小程序访问历史记录,并且还是根据「访问时间」排序.目前,这个入口并非所有用户都有,有的人需要在使用过几款小程序后才会出现. 2.目前小程序可在微信聊天页面中置顶或分享. 但如果是在聊天页面中置顶,只能置顶一个小程序,并且是一次性的,当你从聊天界面点击过去,这个置顶就会消失.…
今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enables TLS 1.2 on windows Server 2008 R2 and Windows 7 # These keys do not exist so they need to be created prior to setting values. md "HKLM:\SYSTEM\Cur…
前言: 对于小程序大家可能都非常熟悉了,随着小程序的不断普及越来越多的公司都开始推广使用起来了.今天接到一个需求就是生成小程序码,并且于运营给的推广图片合并在一起做成一张漂亮美观的推广二维码,扫码这种二维码就可以进入小程序.为了节省服务器内存资源,我想的就是成功调用通微信生成小程序码的接口后直接把微信返回过来的图片二进制内容(返回的图片 Buffer)转化为二进制byte[]文件流,然后再转成Image这样就不需要在保存到本地直接读取本地的背景图片通过GDI+(Graphics)绘制图片.废话不…
目前正在开发小程序,在开发过程中,总会遇到一些坑,而这些坑并不会有很多开发者遇到而说出来.这里先记录一条我开发过程中遇到的问题,以便后人在开发中能够更容易的解决问题!!! 首先,小程序在canvas画自己想要的图时,我通常会用以下两种获取图片的方式: 1. 通过wx.downloadFile加载图片时,图片的路径为:res.tempFilePath;以下为官方api wx.downloadFile({ url: 'https://example.com/audio/123', //仅为示例,并非…
自己做了一个小程序,主要用于给头像加图标的那种,和qq似的,主要用canvas做的, 第一回用,掉了很多坑,所以今天总结一下自己所做的,如果大家有不理解的地方,欢迎提问:如果帮到大家的话,帮忙点个啥的 canvas可以用来画一些东西,前台生成一些海报什么的,可以保存base64图片 canvas中介绍的各种方法有很多参数,不理解的话请自行到小程序开发文档查看 我合成的方法是,第一步:获取系统信息,第二步:画背景,第三步:在这个背景上画另外一张图片,进行合成,然后转base64图片,传给后台 ##…
因为之前参照微信的原生的文档写过一些小程序的demo,写的过程比较繁琐,后来出了美团的mpvue,可以直接使用vue开发,其他的不作对比,这篇文章记录一下踩坑之旅. 参照mpvue http://mpvue.com/mpvue/#_2的官网的五分钟的教程搭建项目 在创建的过程中,需要输入微信小程序的个人appId,可以去微信小程序开发平台复制进去. 创建完成后的项目其实和使用vue-cli创建的脚手架大同小异,没图案也只是对其封装,然后转化为wxml. 1.首先引进iview weapp的组件库…
前言 迄今为止,正儿八经的上线了真正意义上的程序,但是这个小程序却着实不小. 之所以不小,是因为这个类似于社区的小程序,已经做了大部分都有的功能了 举例说明,具体的一些功能点: 1.帖子列表页面:会有的功能:滚动加载,下拉刷新等 2.发帖页面:图文发表,视频上传 3.评论页面,图文评论 4.帖子详情页:富文本解析,点赞,回复帖子,回复评论,关注,收藏,朋友圈分享,分享 5.任务中心,积分获取,兑换. 6.小程序提现到零钱(即将上线) 细数以下几个坑(上) 1.富文本 这个说来就有非常坑,作为一个…
以下是自己在开发过程中遇到的坑和小技巧,记录以下: 1.出现了 page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add page route in app.json.2. Invoking Page() in async task. 截图如下: 解决办法:需要在每个XXX.js文件中加入page(),以用来生成一个页面实例对象. Page({ }); 有时就算你在每个js文件中都写了基本的page()代码,还是会保这个错误…
测试手机为IPHONE6,开发者工具版本0.10.102800.开发者工具0.11.112301版本也一样 微信小程序里的canvas 非 h5 canvas有很多不一样的地方,以下把微信小程序的canvas叫做wxcanvas 下面全是我一点点测试出的干货,耐心看: 1.wxcanvas,不像h5canvas那样有width和height属性和width和height的style样式.他只有style样式,可以理解为他就是个框吧: 2.wxcanvas不要当成真的H5canvas,就当它是个d…
工作中公司业务需要的微信小程序用户签字功能 先看效果图: wxml: <view class="wrapper"> <view class="handBtn"> <image catchtap="selectColorEvent" src="{{ selectColor === 'black' ? '../../images/color_black_selected.png' : '../../images…
此功能并没有做所有机型测试,后面会一个一个做一下,如需使用请先自作测试! canvas在小程序中设定的尺寸默认是px 并不是rpx的 所以需要转换一下 PS:设计稿是750像素 wx.getSystemInfo({ success: function (res) { var v =750 / res.windowWidth;//设计稿尺寸除以 当前手机屏幕宽度 function shiftSize(w) { return w / v; } //例子 //绘制文字 function fillFon…
业务中碰到微信小程序需要生成海报进行朋友圈分享,这个是非常常见的功能,没想到实际操作的时候花了整整一天一夜才搞好,微信的 canvas 绘图实在是太难用了,官方快点优化一下吧. 业务非常简单,只需要将用到的图片,文案素材拼装到一张图片,保存到本地就可以了. 首先创建画布,将一张网上的图片画到画布上. const ctx = wx.createCanvasContext('shareCanvas'); ctx.drawImage("https://img3.doubanio.com/view/ph…
最近要做个微信小程序的性能压测,虽然之前只做过web端的,但想一想都是压后端的接口,所以果断答应了下来,之前对jmeter都是小打小闹,所以趁着这次机会好好摆弄摆弄. --------------------------------------------------------------------------------踩坑前总结哈理论,这篇写给自己的----------------------------------------------------------------------…