javascript – 在画布上的图像的不透明部分周围绘制边框
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在画布上的图像的不透明部分周围绘制边框,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1013字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 在画布上的图像的不透明部分周围绘制边框](/upload/InfoBanner/zyjiaocheng/713/7aa2a85ec9eb4eb7a1e3eb75557a24a8.jpg)
我正在使用drawImage将图像绘制到画布上.这是一个被透明像素包围的PNG,如下所示:
如何在画布上为该图像的可见部分添加纯色边框?澄清一下:我不想要一个围绕图像边界框的矩形.边界应绕着草地.
我确实考虑过使用阴影,但我真的不想要一个发光的边框,我想要一个坚固的边框.
解决方法:
有点晚了,但只是绘制图像偏移,这比分析边缘要快得多:
var ctx = canvas.getContext('2d'),
img = new Image;
img.onload = draw;
img.src = "http://i.stack.imgur.com/UFBxY.png";
function draw() {
var dArr = [-1,-1, 0,-1, 1,-1, -1,0, 1,0, -1,1, 0,1, 1,1], // offset array
s = 2, // thickness scale
i = 0, // iterator
x = 5, // final position
y = 5;
// draw images at offsets from the array scaled by s
for(; i < dArr.length; i += 2)
ctx.drawImage(img, x + dArr[i]*s, y + dArr[i+1]*s);
// fill with color
ctx.globalCompositeOperation = "source-in";
ctx.fillStyle = "red";
ctx.fillRect(0,0,canvas.width, canvas.height);
// draw original image in normal mode
ctx.globalCompositeOperation = "source-over";
ctx.drawImage(img, x, y);
}
<canvas id=canvas width=500 height=500></canvas>
内容总结
以上是互联网集市为您收集整理的javascript – 在画布上的图像的不透明部分周围绘制边框全部内容,希望文章能够帮你解决javascript – 在画布上的图像的不透明部分周围绘制边框所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。