摘要: 简单实用的开源工具。

  • 作者:诗人的咸鱼
  • 原文:小程序生成分享海报,一个json就够了。同时支持web

Fundebug经授权转载,版权归原作者所有。

需求

在项目里写过几个canvas生成分享海报页面后,觉得这是个重复且冗余的工作.于是就想有没有能通过类似json直接生成海报的库.

然后就在github找到到两个项目:

  • wxa-plugin-canvas,不太喜欢配置文件的写法.就没多去了解
  • mp_canvas_drawer,使用方式就比较符合直觉,不过可惜功能有点少.

然后就想着能不能自己再造个轮子.于是就有了这个项目 json2canvas,你可以简单的理解为是mp_canvas_drawer的增强版吧.

json2canvas canvas绘制海报,写个json就够了.

项目的canvas绘制是基于cax实现的.所以天然的带来一个好处,json2canvas同时支持小程序和web

功能

  • 支持缩放. 如果设计稿是750,而画布只有375时.你不需要任何换算,只需要将scale设置为0.5即可.
  • 支持文本(长文本自动换行,感谢 coolzjy@v2ex 提供的正则 https://regexr.com/4f12l ,优化了换行的计算方式(不会粗暴的折断单词))
  • 支持图片(圆角)
  • 支持圆型,矩形,矩形圆角
  • 支持分组(cax里很好用的一个功能)
  • 同时支持小程序和web

示例

web-demo 界面左边的json,可以进行编辑,直接看效果哟~

小程序-demo

git clone https://github.com/willnewii/json2canvas.git
微信开发者工具导入项目 example/weapp/

小程序安装

npm i json2canvas
微信开发者工具->工具->构建npm

在需要使用的界面引入Component

{

效果图

想要生成一个这样的海报,需要怎么做?(红框是图片元素,蓝框是文字元素,其余的是一张背景图。)

一个json就搞定.具体支持的元素和参数,请查看项目readme

{

问题反馈

有什么问题可以直接提issue

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有阳光保险、核桃编程、荔枝FM、掌门1对1、微脉、青团社等众多品牌企业。欢迎大家免费试用!

小程序文件上传返回 json_json2canvas:使用JSON生成小程序海报相关推荐

  1. 微信小程序文件上传 前后端

    搭建小程序端 用vant组件 <van-uploader file-list="{{ fileList }}" bind:after-read="afterRead ...

  2. [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器...

    引言: 在这个专题将为大家揭开下FTP这个协议的面纱,其实学习知识和生活中的例子都是很相通的,就拿这个专题来说,要了解FTP协议然后根据FTP协议实现一个文件下载器,就和和追MM是差不多的过程的,相信 ...

  3. Java MinIO文件上传返回访问路径及访问配置

    1. MinIO形式文件上传: 首先需要有MinIO服务器,这里略过. @PostMapping("file/upload")public String MinIOUpload(M ...

  4. 文件上传到ftp服务器大小变小,ftp服务器文件上传大小设置

    ftp服务器文件上传大小设置 内容精选 换一换 文件选择上传控件,用于上传文件. Windows场景中,当把源端服务器迁移到华为云后,目的端服务器C盘的已用空间比对应源端服务器C盘的已用空间大至少1G ...

  5. SpringMVC中的文件上传与下载,json转换,及三大框架的整合

    文章目录 文件上传 准备一个文件上传的表单 导入文件上传需要的jar包 配置文件上传解析器 编写文件上传的Controller控制器中的代码: 使用ResponseEntity返回值处理文件下载 使用 ...

  6. 微信小程序文件上传file

    微信小程序上传文件: wx.uploadFile({ //上传           name: 'file', php后台接收: move_uploaded_file($_FILES['file'][ ...

  7. Django,Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传

    JSON JSON指的是JavaScript对象方法(JavaScript Object Notation) JSON是轻量级的文本数据交换格式 JSON独立于语言 JSON具有自我i描述,更易理解 ...

  8. 上传声音 微信小程序_SpringBoot开发案例之微信小程序录音上传

    前言 书接上回的<SpringBoot开发案例之微信小程序文件上传>,正常的业务流程是,口语测评需要学生通过前端微信小程序录入一段音频,通过调用第三方音频处理服务商进行评分,然后服务端对原 ...

  9. 腾讯云对象存储的完整教程,java将文件上传到腾讯云上后返回可以访问的连接

    先前使用的是七牛云,是挺好用的,但是七牛对于测试域名有一个月的时间限制.测试域名失效后上传的图片等文件就不能访问了.但是腾讯云每个注册的账户有50G的对象存储的空间.而且没有时间限制.所以就采用腾讯的 ...

最新文章

  1. pythonl学习笔记——爬虫的基本常识
  2. Win7 64位系统 注册 ocx控件
  3. android利用反射调用截屏api,Android利用反射机制调用截屏方法和获取屏幕宽高的方法...
  4. 关于欧拉工程的一道递推题
  5. kotlin实现流读取
  6. 最近公共祖先_leetcode No.236 二叉树的最近公共祖先
  7. Js高级(1) 事件11.30
  8. CentOS 内核升级的总结
  9. 定位导航方案在特殊环境下的适用说明
  10. CYQ.Data 轻量数据层之路 华丽升级 V1.3出世(五)
  11. python beautifulsoup_Python爬虫利器:Beautiful Soup的使用(一)
  12. 一个python的UG二次开发简单实例
  13. 国内优质海量数据集收集网站
  14. iphone5s显示被停用了解决办法
  15. 工作3年以上的程序员现在都在做什么工作?
  16. Linux 父进程子进程的进程分析
  17. 联通混改BATJ悉数入局,拿出数百亿的百度们有什么阳谋?
  18. 组织项目管理(PMP知识整理)
  19. 处理MySQL数据库出现大量Locked的一个案例[转]
  20. 无线降噪蓝牙耳机对比:NANK南卡和苹果AirPods Pro哪个好用?

热门文章

  1. DOSBox中 tlink @testlink引用连接文件命令的实现
  2. 如何区别场内和场外基金?
  3. 80后制作密室手游 登索尼平台获得千万风投
  4. 如何在Linux下用vim编写代码
  5. MySql数据库基本练习题(带答案)
  6. 深度优先遍历(DFS)和广度优先遍历(BFS)
  7. 静态通用Framework
  8. c语言从入门到入狱段子,坑人的套路一问一答
  9. 美团崩了之后,多少平台吓出一身冷汗?
  10. JavaScript 年历的制作