Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以用fabric.js磨边吗?_Javascript_Node.js_Canvas_Fabricjs - Fatal编程技术网

Javascript 我可以用fabric.js磨边吗?

Javascript 我可以用fabric.js磨边吗?,javascript,node.js,canvas,fabricjs,Javascript,Node.js,Canvas,Fabricjs,使用fabric.js,是否可以(大幅)锐化添加到画布中的对象的边缘 这是我正在使用的一些小正方形(5x5像素)的放大图片,它们看起来像右边的正方形,但我需要它们是左边的正方形 因为我试图将生成的图像变成透明的白色背景,然后将生成的图像应用到另一个图像的顶部,这些模糊的边界一旦覆盖,看起来就像是垃圾。改变透明度阈值并不是一个很好的解决方案,因为如果我为了去除灰色而放弃它,它就不再是一个完美的正方形 确保上/左为精确整数后 在ctx之后。翻译(0.50,0.50) 确保所有的x、y、width

使用fabric.js,是否可以(大幅)锐化添加到画布中的对象的边缘

这是我正在使用的一些小正方形(5x5像素)的放大图片,它们看起来像右边的正方形,但我需要它们是左边的正方形

因为我试图将生成的图像变成透明的白色背景,然后将生成的图像应用到另一个图像的顶部,这些模糊的边界一旦覆盖,看起来就像是垃圾。改变透明度阈值并不是一个很好的解决方案,因为如果我为了去除灰色而放弃它,它就不再是一个完美的正方形

确保上/左为精确整数后

在ctx之后。翻译(0.50,0.50)


确保所有的x、y、width和height值都是精确的整数。好的,这似乎确实会影响形状,现在所有的正方形看起来都一样。我想这是可行的,我现在可以使用透明方法,但它似乎仍然不能生成左边的正方形。获取画布上下文的引用,并执行
context.translate(0.50,0.50)
仅使用填充--避免笔划。@Blindman67:关于如何实现您的想法的提示:由于html5画布可以是Fabric.image的图像源,因此您可以将多绘制矩形渲染到内存中的html5画布,然后从中创建Fabric.image。Fabric.Image和Fabric.Rect都具有大多数相同的属性,并且可能同样有用。:-)@马克:是的,我同意。分组对象会带来开销,向下合并将减少CPU/GPU负载。这种技术可以很好地控制抗锯齿强度,只需添加globalAlpha=0.25或更小的原始图像,或将其渲染多次,即可获得一点清晰度。由于画布可以自我渲染,因此每次渲染调用的效果都会加倍。