我发现,我申请上两个位图的每一个像素在网络上这个功能,混纺率:阿尔法共混物像素功能
private static int hardlight(int in1, int in2) {
float image = (float)in2;
float mask = (float)in1;
return ((int)((image < 128) ? (2 * mask * image/255):(255 - 2 * (255 - mask) * (255 - image)/255)));
}
但我也需要调整混合面罩的强度,所以我需要应用阿尔法,但我不知道如何去做。
这个方法我试过在http://www.pegtop.net/delphi/articles/blendmodes/opacity.htm,我翻译成Java这样的:
private static int opacity(int a, int b, float o) {
return (int) (o * hardlight(a,b) + (255 - o) * a);
}
但结果是垃圾与所有怪异的颜色。我没有太多的位图操作经验,所以任何人都可以帮助我吗?
http://stackoverflow.com/questions/4605325/blending-pixels-from-two-bitmaps这可能是帮助全 – Triode 2012-02-21 13:36:58
谢谢,但我已经读过,我的位图已经在ARGB_8888模式。 – 2012-02-21 13:42:22