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.
// Fill background with white
Graphics2D graphics = inputImage.createGraphics();
try {
graphics.setComposite(AlphaComposite.DstOver); // Set composite rules to paint "behind"
graphics.setPaint(Color.WHITE);
graphics.fillRect(0, 0, inputImage.getWidth(), inputImage.getHeight());
}
finally {
graphics.dispose();
}
}
// Resample to fixed size
int width = 100;
int height = 100;
BufferedImageOp resampler = new ResampleOp(width, height, ResampleOp.FILTER_TRIANGLE);
// Using explicit destination, resizedImg will be of TYPE_INT_RGB
BufferedImage resizedImg = resampler.filter(inputImage, new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB));
// Write output as JPEG
ImageIO.write(resizedImg, "JPEG", new File(input.getParent(), input.getName().replace('.', '_') + ".jpg"));
}
java读取图片 去除alpha_java – 从图像中剥离Alpha通道相关推荐
- 1、去除图像中的alpha通道或透明度
自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...
- 去除图像中的alpha通道或透明度
自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...
- java 数字图片识别_java – 识别图像中的数字
您很可能需要执行以下操作: >在整个页面上应用Hough Transform算法,这应该会产生一系列页面部分. >对于您获得的每个部分,请再次应用.如果当前部分产生2个元素,那么你应该处理 ...
- 【APICloud系列|32】iOS 上架去除Icon图像中的alpha通道或透明度
上架的时候你们有没有遇到过这个问题?? 打开图片的"显示简介",你会发现有个叫"alpha通道"的东西,(如果是"是"你的图片就不能上架)如 ...
- 四通道图像中的alpha通道
在图像处理中,Alpha用来衡量一个像素或图像的透明度.在非压缩的32位RGB图像中,每个像素是由四个部分组成:一个Alpha通道和三个颜色分量(R.G和B).当Alpha值为0时,该像素是完全透明的 ...
- java 修改图片dpi_如何在图像中设置DPI信息?
我在我的项目中将这段代码用于tiff文件,并且效果很好. import java.awt.image.BufferedImage; import java.awt.image.RenderedImag ...
- java读取图片、PDF中图片上的文字
读取图片上的文字 提示:本文是基于tess4j 文章目录 读取图片上的文字 前言 一.tess4j是什么? 二.使用步骤 1.POM引入库 2.实例代码 总结 前言 总是有一些与众不同的需求在等着研发 ...
- matlab怎么输出图像文件夹,Matlab读取图片 显示和保存图像的相关操作
当前有部份朋友还不清楚Matlab读取图片 显示和保存图像的操作,所以下面绿软吧就带来Matlab读取图片 显示和保存图像的相关操作,一起来看看吧! Matlab读取图片 显示和保存图像的相关操作 打 ...
- R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像中示例
R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot2可视化图像中示例 目录 R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot
- java读取图片成rgb二维数组
全栈工程师开发手册 (作者:栾鹏) java教程全解 java读取图片成rgb二维数组 测试代码 public static void main(String[] args) {Color[][] a ...
最新文章
- Spring Boot-@EnableWebMvc注解
- 哥尼斯堡的“七桥问题” (25 分)【欧拉回路模板题】
- php网站搭建致命错误203终止,PHP致命错误:无法重新分配$this
- 火种 ctf_分析我的火种数据
- (IOS)截图Demo
- 路由与交换技术(铺垫内容)
- 《AFTrans》来自ViT的免费午餐!北大阿里提出用于细粒度视觉识别的自适应注意多尺度融合Transformer...
- C# 代码重启windows服务
- 变量的引用类型和非引用类型的区别
- 如何快速分享CAD图纸?CAD图纸怎么加密?
- 作为一名黑客,通过技术手段发现女朋友出轨了...
- 怎么彻底卸载cad2017_cad2017没卸载干净怎么办?
- 2019西安交大计算机专业研究生分数线,西安交通大学2019年考研分数线公布
- Android:异步处理之Handler+Thread的应用(一)
- swift声明属性为某个类型同时遵循某协议
- 取消 window 7 激活提示
- PARWAN处理器架构特点
- 一阶RC低通滤波电路数字化
- 统计学习理论简介(一)
- SAP中重订货点Reorder Point原理分析及测试
热门文章
- 【问题】eletron引入flash显示“无法加载插件”
- java判断闰年中闰月_2019年农历闰几月 关于闰年闰月的认识
- 微信测试公众号申请配置
- 三字经带注解_三字经注释及解析
- python2.X 画一个正方体
- 连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线
- 关于Single Image Super Resolution(单幅影像超分辨率重建任务)Bicubic_LRX4影像生成的‘搬运‘想法
- FFmpeg —— 为视频添加文字水印(完美解决中文乱码,无需编译)
- 百度地图 InfoWindow上添加点击事件
- 百度地图标记点加点击事件和鼠标移入事件并添加数据