微信小程序 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 =…
Page({ drawCanvas: function(ctx) {// 地址 ctx.setFontSize() ctx.setFillStyle('#9E7240') ctx.textAlign="center"; const txHash = this.data.info.txHash ? this.data.info.txHash : '暂无信息' , , ,) // 自动换行 ctx.draw() ctx.save() },// 文本自动换行 drawText: functi…
在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvasContext.fillText参数为 我们只能设置文本的最大宽度,这就产生一定的了问题.如果我们绘制的文本长度不确定或者我们希望文本超出自动换行或者用 ...我们只能设置文本的最大宽度,这就产生一定的了问题.如果我们绘制的文本长度不确定或者我们希望文本超出自动换行或者用省略号表示,光靠这个API是无法完成的.下面本人就讲下我在开发中是如何解决这个问题的.. 1 wxml代码. <canvas canvas-id=&quo…
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实现图片编辑 我们的这个小程序不仅仅是想给用户提供一个保存和查找的平台,还希望能给用户一个展示自己创意的舞台,因此我们实现了图片的编辑部分.我们对对图片的编辑集成了很多个不同的模块.根据用户的需求,我们主要实现了6个不同的功能,包括添加文字,图片涂鸦,添加滤镜,拼接图片,宣传图片,裁切图片. 虽然这些都是比较基础的图片的编辑能力,但是通过我们的优化,我们能够比较方便直观的修改我们的表情.通过结合多个不同的编辑操作,我们可以比较方便的实现出很多酷炫的效果.我们实现…
技术:微信小程序   概述 上传图片,编辑图片大小,添加文字,改变文字颜色等 详细 代码下载:http://www.demodashi.com/demo/14789.html 概述 微信小程序--canvas画布实现图片的编辑 详细 一.前期准备工作 软件环境:微信开发者工具官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 1.基本需求. 实现上传图片 实现图片编辑 实现添加文字 实现导出图片 2.案例…
项目中常常需要使用到字体图标,微信小程序中使用字体图标与在平常的web前端中类似但是又有区别.下面以使用阿里图标为例子讲解如何在微信小程序中使用字体图标. 第一步:下载需要的字体图标 进入阿里图标官网http://iconfont.cn/搜索自己想要的图标,如这里需要一个购物车的图标,流程为: 搜索“购物车”图标--->点击“添加入库”-->点击购物车进入购物车-->点击下载代码按钮. 点击下载代码,将得到名为download.zip的压缩包,解压将看到以下内容: 第二步:转换ttf文件…
---恢复内容开始--- 微信小程序canvas生成并保存图片,具体实现效果如下图     实现效果需要做以下几步工作 一.先获取用户屏幕大小,然后才能根据屏幕大小来定义canvas的大小 二.获取图片(二维码)的宽高,并对图片进行等比例缩放在canvas绘制 三.文字的布局 四.将canvas内容生成图片并保存到本地 五.并图片保存到相册 具体实现代码如下 主逻辑 代码量比较多,分段来展示 /*页面data定义所需参数*/ data{ // canvas _width: 0, //手机屏宽 _…
第一步:在阿里巴巴矢量图标库下载需要的图标 地址:https://www.iconfont.cn/ 添加至项目 第二步:打开在线代码 将在线代码复制 第三步:点击下载至本地下载图标 将下载的download文件解压打开iconfont.css,将文件中的@font-face替换为在线链接(即刚刚复制的代码). 第四步:将iconfont.css文件中的代码复制到微信小程序使用字体图标的的wxss文件中. 使用实例: <icon class='iconfont icon-icon_fabu'/>…
微信小程序自带的设置透明度只有setGlobalAlpha,但是CanvasContext.setGlobalAlpha设置透明度,是全局透明,整张图片都透明了.所以直接使用是不行的. 换种思路实现:就是把需要加水印的图片弄成拷贝成两张(大小尺寸一样),然后一张图片加水印字体并通过CanvasContext.setGlobalAlpha设置字体透明度,然后把两张图片合并就能实现照片不透明,字体透明. 微信扫一下小程序码可以查看实现的效果: 主要js代码逻辑: 1 var ctx= wx.crea…
业务中碰到微信小程序需要生成海报进行朋友圈分享,这个是非常常见的功能,没想到实际操作的时候花了整整一天一夜才搞好,微信的 canvas 绘图实在是太难用了,官方快点优化一下吧. 业务非常简单,只需要将用到的图片,文案素材拼装到一张图片,保存到本地就可以了. 首先创建画布,将一张网上的图片画到画布上. const ctx = wx.createCanvasContext('shareCanvas'); ctx.drawImage("https://img3.doubanio.com/view/ph…
自定义图标及自定义字体,一直是很多小程序开发者的心病,其实本站是很多解决方案的,为了集中起来,方便直接跳过此坑,我特别做了这次针对字体及字体图标的跳坑: 相关文章:微信小程序添加并使用外部字体(成功添加到维吾尔语了...新手跳坑指南<六十七>字体文件无法找到报404错误在微信小程序中使用字体图标/自定义字体/外部字体 相关插件:微信小程序实用组件:使用font-awesome字体,真机可用微信小程序demo:bootstrap字体样式使用 相关帖子:小程序里面能用阿里字体图标吗微信小程序中怎么…
测试手机为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…
小程序点击跳转外部页面 1.index.wxml  添加点击事件   标签可以是小程序支持的 <!-- 邀请好友 --> <cover-image src='/img/invitation.png' class='img-invitation' bindtap='invitation'></cover-image> 2.index.js   添加事件 invitation: function () { var that = this; wx.showModal({ ti…
开发中常常遇到MD5加密,最近做小程序也用到了,简单总结了一下: 这要有两个加密文件,一个不支持中文,一个支持,所以你选择支持的来用就行了: 也随便说说小程序的get和post网络请求. 来看看效果图: 网络请求代码: requestData: function (appid, token, itype, callback, offset, count){ wx.request({ url: "xxxxxx", method: "POST",//GET data:…
微信小程序,无论是字体图标还是图标,都差不多,只不过是为了以后字体图标修改方便,或者加效果方便而使用它而已! 1. 下载font-awesome http://fontawesome.dashgame.com/assets/font-awesome-4.7.0.zip 2.解压后,找到fontawesome-webfont.ttf 3.然后进入以下网站进行格式转换 https://transfonter.org/ 4.下载到本地 5.把css文件提出来 6.新建一个wxss文件,然后把 font…
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中存在一个坐标系,二维的,左上…
摘要: 自动还原真实出错位置,快速修复BUG. Source Map功能 微信小程序的Source Map功能目前只在 iOS 6.7.2 及以上版本支持. 微信小程序在打包时,会将所有 js 代码打包成一个文件,从而减少体积,加快访问速度. 然而,压缩代码的错误是很难Debug的,因为错误位置是这样的: 文件:app-service.js 行号:13782 列号:7974 这时,错误的位置信息(文件,行号和列号)失去了价值,因为开发者很难知道它所对应的源代码位置. Fundebug的微信小程序…
先在HTML中创建 img和canvas并设置id属性 <canvas id="canvas" width="500" height="500" style="border: 1px solid red;"></canvas> <img src="./dialog.png" id="img" /> js中 微信小程序也可以使用. 当然获取canvas会…
网络图片缓存 在uni中wx可以用uni代替 无区别: 先把要插入的网络图片缓存(getImageInfo); let context = uni.createCanvasContext('firstCanvas'); //canvas-id='firstCanvas' uni.getImageInfo({ src:https://xxxxxxxx, success:res=>{ console.log(`缓存地址:${res.path}`); context.drawImage(res.pat…
小程序和网页差不多,前台用wxml把内容摆好,然后用css调整样式.所以和web一样,必须要能够精确控制每一个元素的大小.在Web中,通过CSS基本达到了像素级的控制.但在小程序中,情况有所不同.下面是我通过微信提供的事件分析,把近7天访问的终端的分辨率的情况汇总了一下: 有些看起来很小,其实并不是老机子,而是手机和电脑在分辨率上有所差别.除了px,还有dp.vw.rem等一系列尺寸标准. http://blog.csdn.net/zhoudailiang/article/details/505…
小程序制作证件照过程 利用canvas制作生活中常用的证件照,压缩图片,修改图片dpi.希望给大家带来方便. 证件照小程序制作要点 上传合适的图片,方便制作证件照 调用AI接口,将图像进行人像分割.这里我用的是百度AI 调用人体关键点为分析图片中头部和肩部的位置信息.为后满裁剪图片提供依据 利用canvas 将头部和肩部位置制作为新的证件照尺寸照片 改变图片的背景颜色,生成不同要求的背景证件照 导出图品前将图片修改为符合打印要求的dpi. 下载最终生成好的证件照 上传合适的图片,方便制作证件照…
此功能并没有做所有机型测试,后面会一个一个做一下,如需使用请先自作测试! canvas在小程序中设定的尺寸默认是px 并不是rpx的 所以需要转换一下 PS:设计稿是750像素 wx.getSystemInfo({ success: function (res) { var v =750 / res.windowWidth;//设计稿尺寸除以 当前手机屏幕宽度 function shiftSize(w) { return w / v; } //例子 //绘制文字 function fillFon…
实现 阿里图库:https://www.iconfont.cn/ CSS3:[attribute*=value] 选择器 步骤 1. 加入购物车 2. 下载代码解压,复制iconfont.css app.wxss(注意!!! 小程序不支持组件内某些选择器) [class*="icon-"] { font-family: "iconfont" !important; font-size: inherit; font-style: normal; } index.wxs…
转载:https://blog.csdn.net/qq_16646819/article/details/81020245?utm_source=blogxgwz0 js // pages/bind/bind.js var app = getApp(); var baseUrl = getApp().baseUrl; var ctx; Page({ /** * 页面的初始数据 */ data: { text: '', }, /** * 生命周期函数--监听页面加载 */ onLoad: func…
一.先到阿里巴巴矢量图标库(http://iconfont.cn/),用微博帐号登录,搜索你想要的图标,然后添加入库 从项目里下载下来并解压,找到ttf格式文件 二.到这个平台https://transfonter.org/,把刚才下载的ttf字体文件转化成base64格式 原文:http://www.soswen.com/article/10 三.下载下来之后解压找到stylesheet.css ,打开文件,复制这些内容到wxss里: 四.打开之前在阿里巴巴下载的压缩包,找到iconfont.…
drawCanvas: function(ctx) { //... // 昵称 ctx.setFontSize(16) //字体大小 ctx.setFillStyle('#fff') //字体颜色 ctx.textAlign="center"; //文字居中 ctx.fillText(this.data.info.userName, 187, 76) //... },…
page({ // 绘制canvas drawCanvas:function(){ const ctx = wx.createCanvasContext('poster') // 画圆形二维码 this.circleImg(ctx,this.data.canvasLotteryQR, 151.5, 535.5, 36) // (canvas对象,二维码图片本地路径(如果是网络图片先用wx.downloadFile存本地),坐标x, 坐标y, 半径) }, // 圆形图片 circleImg: f…
//保存到手机相册save:function () { wx.canvasToTempFilePath({ x: , y: , width: , //导出图片的宽 height: , //导出图片的高 destWidth: * / wx.getSystemInfoSync().windowWidth, //绘制canvas的时候用的是px, 这里换算成rpx ,导出后非常清晰 destHeight: * / wx.getSystemInfoSync().windowWidth, //同上 px…