美文网首页
node 环境下 运行 canvas

node 环境下 运行 canvas

作者: 一像素 | 来源:发表于2017-10-17 13:36 被阅读0次

依赖安装

1.由于Apple从OSX 10.5开始移除了X11的支持,为了继续运行X11程序,Apple搞了一个开源项目XQuartz来继续提供X11的支持。从官方网站https://xquartz.macosforge.org下载,安装即可
2.装完XQuartz,运行:
$ brew install cairo
3.环境变量PKG_CONFIG_PATH没有正确设置。把它设置成如下:
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig
4.安装npm install canvas

饼图示例:

var fs = require('fs');
var path = require('path');
var Canvas = require('canvas');
// 饼图需要自定义的参数
var pieArgument = {
  canvasWidth: 210,
  canvasHeight: 128,
  sum: 3456,
  item: 1234,
  fillColor: "#3ebbc1",
  bgColor: '#e6e6e6',
  fontColor: '#3ebbc1'
};
// 饼图 方法定义
function pie (pieArgument) {
  var percent = pieArgument.item/pieArgument.sum;
  var pieLable = (percent * 100).toString().substring(0,5);
  if ((percent * 100).toString().substring(5, 6) >= 5) {
    var aa = (Number(pieLable.substring(4,5)) + 1).toString();
    var bb = pieLable.split('');
    bb.splice(4,1,aa);
    pieLable = bb.join('') + '%';
  } else {
    pieLable = pieLable * 100 + '%';
  }
  var radian = Math.PI/180*360*percent - Math.PI*0.5;
  var canvas = new Canvas(pieArgument.canvasWidth, pieArgument.canvasHeight);
  var ctx = canvas.getContext('2d');
  ctx.beginPath();
  ctx.translate(pieArgument.canvasHeight/2,pieArgument.canvasHeight/2);//定义中心点
  ctx.moveTo(0,0);
  ctx.arc(0,0,pieArgument.canvasHeight/2,0,Math.PI*2,false);
  ctx.fillStyle=pieArgument.bgColor;
  ctx.fill();
  ctx.moveTo(0,0);
  ctx.arc(0,0,pieArgument.canvasHeight/2,Math.PI*1.5,radian,true);
  ctx.fillStyle=pieArgument.fillColor;
  ctx.fill();

  ctx.translate(pieArgument.canvasWidth/2,0);//定义中心点
  ctx.font = '20px 苹方-简';
  ctx.textAlign = "center";
  ctx.textBaseline = 'middle';
  ctx.fillStyle=pieArgument.fontColor;
  ctx.fillText(pieLable, 0,0);

  ctx.closePath();
  console.log(canvas.toDataURL());//生成图片base64
  canvas.createPNGStream().pipe(fs.createWriteStream(path.join(__dirname, 'pie.png'))) // 生成本地图片(指定文件名)
}
pie(pieArgument);
效果图
1501749330466-c7d16b92-2619-4baa-9bd4-92fe5168f11d-image.png

相关文章

  • node 环境下 运行 canvas

    依赖安装 1.由于Apple从OSX 10.5开始移除了X11的支持,为了继续运行X11程序,Apple搞了一个开...

  • Vue.js小白,搭建开发环境

    环境准备 Node.js Javascript的运行时环境 npm Node.js下的包管理工具 webpack ...

  • mocha 自动化测试

    mocha是一个javascript的测试框架,需要在node环境或浏览器环境下运行,这里我只学习了node的环境...

  • Eslint安装使用 - 配置解析

    前提 Eslint需要在node环境下才能运行,使用eslint前先安装node 安装eslint 在项目根目录终...

  • 猜拳游戏主函数

    运行于cocoscreator 中,挂载在主canvas //必须创建一个按钮作为点击node

  • 从零开始创建React项目

    首先运行环境-node是必须的,需要下载安装node的运行环境,官网下载即可点击打开链接 安装好了node之后,自...

  • vue-cli脚手架搭建项目及Axios封装

    一、安装node环境 vue运行是基于node环境的,构建vue框架之前,需要确保node环境安装成功。 在nod...

  • TypeScript的基础环境搭建

    TypeScript环境搭建步骤。 需要一个node的运行环境,所以要先安装node。安装后,通过node -v ...

  • nodejs+gulp笔记

    1.Node是什么 Node是一个基于Chrome V8引擎的JavaScript代码运行环境。 1.1 运行环境...

  • NodeJS

    Node 是 什么? Node是一个运行时环境,基于 'V8引擎' 的 'JavaScript' 的 '运行时环境...

网友评论

      本文标题:node 环境下 运行 canvas

      本文链接:https://www.haomeiwen.com/subject/iskduxtx.html