Wil*_*iam 8 java graphics bufferedimage
如何在Java中更改BufferedImage的全局alpha值?(IE使图像中每个像素值为100的像素的alpha值为80)
小智 10
@Neil Coffey:谢谢,我一直在寻找这个; 但是,你的代码对我来说效果不好(白色背景变黑).
我编写了类似这样的东西,它完美地工作:
public void setAlpha(byte alpha) {
alpha %= 0xff;
for (int cx=0;cx<obj_img.getWidth();cx++) {
for (int cy=0;cy<obj_img.getHeight();cy++) {
int color = obj_img.getRGB(cx, cy);
int mc = (alpha << 24) | 0x00ffffff;
int newcolor = color & mc;
obj_img.setRGB(cx, cy, newcolor);
}
}
}
Run Code Online (Sandbox Code Playgroud)
其中obj_img是BufferedImage.TYPE_INT_ARGB.
我用setAlpha((byte)125)改变alpha; alpha范围现在是0-255.
希望有人觉得这很有用.
我不相信有一个简单的命令可以做到这一点。几个选项:
IMO,第一个是最容易实现的。
| 归档时间: |
|
| 查看次数: |
22300 次 |
| 最近记录: |