java读取图片 去除alpha_java – 从图像中剥离Alpha通道

感谢Rob的回答,我们现在知道为什么颜色混乱了.

问题是双重的:

> ImageIO用于编写JPEG的默认JPEGImageWriter,不会以其他软件理解的方式编写带有alpha的JPEG(这是一个已知问题).

>当将null作为目标传递给ResampleOp.filter(src,dest)并且过滤器方法是FILTER_TRIANGLE时,将创建一个新的BufferedImage,其中包含alpha(实际上是BufferedImage.TYPE_INT_ARGB).

重新采样后剥离alpha将起作用.但是,还有另一种方法可能更快并节省一些内存.也就是说,不是传递空目标,而是传递适当大小和类型的BufferedImage:

public static void main(String[] args) throws IOException {

// Read input

File input = new File(args[0]);

BufferedImage inputImage = ImageIO.read(input);

// Make any transparent parts white

if (inputImage.getTransparency() == Transparency.TRANSLUCENT) {

// NOTE: For BITMASK images, the color model is likely IndexColorModel,

// and this model will contain the "real" color of the transparent parts

// which is likely a better fit than unconditionally setting it to white

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值