[英]Processing alpha blending in Java
我正在处理,我想在低级代码上重新创建功能最轻的混合。
我在文档中看到C = max(A * factor, B)
C
是返回的颜色 A
是来源 B
是要混合的图像 我在网上看到,指定的系数基于源像素的alpha分量,该分量由代表像素颜色的32位整数的前8位(从左开始)表示。 这些最左边的位也称为最高位。
资料来源: 这本书 ,第464页
我应该怎么看?
这是我那部分的代码:
for (int y = 0; y < capWidth * capHeight; y++) {
int factor = (pixels[y] >> 24) & 0xFF;
pixels[y] = max(pixels[y] * factor, previousFrame.pixels[y]);
}
那行不通,有帮助吗?
factor
是0到1之间的浮点数,而代码中的factor
是0到255之间的整数。 对于每种颜色:C = A(a / 255)+ B(1-(a / 255)),其中:
A是前景值,
B是背景值,
C是结果值,并且
a是alpha分量。
这是根据Alpha混合Wiki页面进行的: http : //en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending
http://processing.googlecode.com/svn/trunk/processing/build/javadoc/core/index.html
我在这里得到了,SVG处理javadoc来混合Lighten! 好 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.