[英]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.