码迷,mamicode.com
首页 > 编程语言 > 详细

java操作图片为啥改了图片以后底片是红色的

时间:2020-06-06 16:51:55      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:输入   出现   替换   百度   方式   输出   直接   设计   没有   

之前项目上线上传的两张png格式的图片。

后来因需求变更 需要修改 图片,想着只需要修改图片的名称直接替换掉就可以了

但是实际出来的效果确是 替换后的图片呈现泛红的状态。

 

找了一下原因是用 java 代码操作图片的时候 png 的格式输入,jpg的格式输出。

那么问题来了 为什么之前的图片没有问题 而后面替换的图片会泛红?

 

百思不得其解,百度也没搜到原因。最后在仔细对比图片属性才发现  图片还有个位深度属性。原本的位深度是24,替换的位深度是32,让设计用ps修改了位深度以后,就不会出现泛红的问题了。当然 根本原因还是前后格式不同。

 

位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的。计算机之所以能够显示颜色,是采用了一种称作“位”( bit ) 的记数单位来记录所表示颜色的数据。当这些数据按照一定的编排方式被记录在计算机中,就构成了一个数字图像的计算机文件。“位”( bit )是计算机存储器里的最小单元,它用来记录每一个像素颜色的值。图像的色彩越丰富,“位”就越多。每一个像素在计算机中所使用的这种位数就是“位深度”。

java操作图片为啥改了图片以后底片是红色的

标签:输入   出现   替换   百度   方式   输出   直接   设计   没有   

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/13055216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!