我正在处理,我想在低级代码上重新创建这个函数 混合最轻。
我在文档中看到C = max(A * factor, B)
C
是返回的颜色A
是来源B
是与我在网上看到指定的因子是基于源像素的alpha分量,它由表示像素颜色的32位整数的前8位(左起)表示。这些最左边的位也称为最高位。
来源:this book,第464页
我应该怎么想?
这是我对该部分的代码:
for (int y = 0; y < capWidth * capHeight; y++) {
int factor = (pixels[y] >> 24) & 0xFF;
pixels[y] = max(pixels[y] * factor, previousFrame.pixels[y]);
}
这不起作用,有什么帮助吗?
答案 0 :(得分:0)
factor
是0到1之间的浮点数,代码中的factor
是0到255之间的整数。答案 1 :(得分:0)
对于每种颜色:C = A(a / 255)+ B(1-(a / 255)),其中:
A是前景值,
B是背景值,
C是结果值,
a是alpha组件。
这是根据alpha混合维基页面:http://en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending
答案 2 :(得分:0)
http://processing.googlecode.com/svn/trunk/processing/build/javadoc/core/index.html
我在这里得到它,SVG处理javadoc用于混合Lighten! 好 !