PIXI 写一个字及图片保存(2)

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>pixi</title>
  <script src="../js/pixi.min.js"></script>
</head>
<body>

<script type="text/javascript">
  //Create a Pixi Application
  let app = new PIXI.Application({width: 526, height: 526,antialias:true});
  document.body.appendChild(app.view);
  // 设置背景颜色
  app.renderer.backgroundColor = 0xcccccc;

  // 更改画布大小
  // app.renderer.autoResize =true;
  //  app.renderer.resize(256,256)
  // app.renderer.width / app.renderer.height

  // 创建画笔
  let graphics = new PIXI.Graphics();

  // 填充颜色及画一个矩形区域
  graphics.beginFill(0xcccccc);
  graphics.drawRect(0,0,app.renderer.width,app.renderer.height);
   graphics.lineStyle(14, 0xffd900); //边框色

// 初始坐标 var lastPoint= {x:0, y:0}; // 是否按下去 var isMouse =false; // graphics.buttonMode = true; // 交互行为 graphics.interactive = true; app.stage.addChild(graphics); // 绑定事件 graphics.on('mousedown' ,onmousedown); graphics.on('mouseup' ,onmouseup); graphics.on('mousemove' ,onmousemove); graphics.on('mouseout' ,onmouseoutFun); function onmousedown(event){ console.log(event) this.data = event.data; var initPosition = this.data.getLocalPosition(this.parent); //获取鼠标移动的位置 console.log(initPosition.x +"-----"+initPosition.y); // 更新坐标点 lastPoint = initPosition; isMouse = true; } function onmouseup(){ isMouse = false; this.data = null; } function onmouseoutFun(){ if(isMouse == true){ isMouse = false; this.data = null; console.log('移除') } } function onmousemove(event){ if(isMouse == true){ var newPosition = this.data.getLocalPosition(this.parent); //获取鼠标移动的位置 // console.log(newPosition) // 绘画线条 graphics.moveTo(lastPoint.x,lastPoint.y); graphics.lineTo(newPosition.x, newPosition.y); graphics.endFill(); // 更新坐标点 lastPoint = newPosition; } } // 保存图片 function downloadImg(){ const image = app.renderer.plugins.extract.image(graphics); document.body.appendChild(image); } </script> <a href="../img/1.png" download="test">aaa</a> </body> </html>

 

存在问题:

当画笔宽度设置大,书写会有明显的锯齿。。。目前还没有处理。  

 

转载于:https://www.cnblogs.com/congxueda/p/9299003.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值