我遇到了这种情况,我很难在谷歌上搜索并解释。
我们公司在铝上打印照片,我们为客户提供两种选择。
第一个选择是将他们的照片打印在铝上,就像
他们把照片给了我们,所以如果照片有白色
背景 图片以白色背景打印。简单的
像那样。
第二个选项是我们可以打印他们的图片而不使用
白色的。而不是所有的“白色值”(
我知道fabric JS中有一个removeWhite过滤器,它可以用透明区域替换白色区域。但这不是我需要的。我需要 Fabric JS 过滤器、ImageMagick 或任何其他可以将像素的“白色值”变成透明的 PHP 或 JS 解决方案。
我知道这些东西对你们来说可能听起来很模糊,但让我尝试这样解释:
这是我尝试实现的过滤器/效果的前后示例:
Before:
After:
如果您不明白我的要求,请随时问我。
我让它工作了。通过使用来自YUV http://en.wikipedia.org/wiki/YUV颜色空间,我可以创建一个 Fabric JS 图像过滤器。
经过大量的反复试验才得到我想要的结果。
因此,我没有关于其工作原理的(详细)描述。
据我所知,我已经使用 YUV 因子来获取 (RGB) 颜色的亮度。
for (i = 0; i < iLen; i++) {
for (j = 0; j < jLen; j++) {
index = (i * 4) * jLen + (j * 4);
var yuv = {};
yuv.r = data[index] / 255 * 1 * 0.299;
yuv.g = data[index + 1] / 255 * 1 * 0.587; //we use the yuv formula constants
yuv.b = data[index + 2] / 255 * 1 * 0.114; //to try to catch the Y (brightness)
yuv.y = yuv.r + yuv.g + yuv.b; //you can tweak this
data[index + 3] = 350 - (yuv.y / 1 * 255); //by changing the first number after the "=" on this line!
}
}
不知何故,通过弄乱最后一行的 350,您可以改变透明度系数。
很抱歉无法详细解释此织物过滤器的工作原理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)