图片缩略图,CMYK图片变红问题解决

在互联网图片上传,我们需要过滤图片里的脚本,保证系统安全

    但是如果使用JVM的ImageIO进行重写过滤,CMYK色彩的图片,进行重写后图片会有一层模糊的红色。

如何解决????

方法1 :使用 ImageMagic ,图片效果清晰,而且不会出现重写CMYK色彩模式图片变色,同时也能过滤掉图片里的不安全代码。。。

方法2 ; 使用graphicsmagic + nginx lua module 实时生成缩略图

RGB色彩模式: 
颜色属性:
简单的说就是自然界万物的颜色(你就先这么理解吧)。
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一.而与我们电脑相关的地方,就是目前的显示器大都是采用了RGB颜色标准,这就是为什么它对我们来说这么重要了。

在显示器上,是通过电子枪打在屏幕的红、绿、蓝三色发光极上来产生色彩的,目前的电脑一般都能显示32位颜色,约有一百万种以上的颜色。如果说它所显示的颜色还不能完全吻合自然界中的某种色彩的话,那已经几乎是我们肉眼所不能分辩出来的了。 
电脑设计运用范围:

显示器显示、RGB色打印、RGB色喷画等。 
独特之处:

色彩丰富饱满,但不能进行普通的分色印刷。

混色设定(加法混合):RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好象有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和(两盏灯的亮度嘛!),越混合亮度越高,即加法混合。有色光可被无色光冲淡并变亮。如蓝色光与白光相遇,结果是产生更加明亮的浅蓝色光。知道它的混合原理后,在软件中设定颜色就容易理解了。红、绿、蓝三盏灯的叠加情况,中心三色最亮的叠加区为白色,加法混合的特点:越叠加越明亮。红、绿、蓝三个颜色通道每种色各分为255阶亮度,在0最弱——是关掉的,而在255最亮。当三色数值相同时为无色彩的灰度色,而三色都为255时为最亮的白色,都为0时为黑色。

CMYK色彩模式

颜色属性:
简单说就是专门用来印刷的颜色。
它是另一种专门针对印刷业设定的颜色标准,是通过对青(C)、洋红(M)、黄(Y)、黑(K)四个颜色变化以及它们相互之间的叠加来得到各种颜色的,CMYK即是代表青、洋红、黄、黑四种印刷专用的油墨颜色,也是Photoshop软件中四个通道的颜色。
具体到印刷上,是通过控制青、洋红、黄、黑四色油墨在纸张上的相叠印刷来产生色彩的,它的颜色种数少于RGB色。 

电脑设计运用范围:
四色印刷、四色打印等。 
独特之处:

色彩不如RGB色丰富饱满,在PHOTOSHOP中运行速度会比RGB色慢,而且部分功能将无法使用,由于颜色种数没有RGB色多,当图像由RGB色转为CMYK色后颜色会有部分损失(从CMYK转到RGB则没有损失),但它也是唯一一种能用来进行四色分色印刷的颜色标准。 

混色设定(减法混合):
CMYK是以对光线的反射原理来设计定的,所以它的混合方式刚好与RGB相反,是"减法混合"

当它们的色彩相互叠合的时候,色彩相混,而亮度却会减低。为什么会这样呢?来看看光线是怎样通过印刷品而进入眼睛的,就会清楚了.

把四种不同的油墨相叠地印在白纸上后,由于油墨是有透明度的,大部分光线第一次会透过油墨射向纸张,而白纸的反光率是较高的,大部分光线经白纸反射后会第二次穿过油墨,然后射向眼睛,此时光线对油墨的透射就产生了色彩效果。
实际上这时我们就好象在看着多个重叠的有色玻璃一般,光线多穿过一层,亮度就降低一些,而颜色也会相互混合一次.
青、洋红、黄三色印墨的叠加情况,中心三色的叠加区为黑色,减法混合的特点:越叠加越暗。
 
在软件中,青、洋红、黄、黑四个通道颜色每种各按百分率记算,100%时为最深,0%时最浅,而黑色和颜色混合几乎没有太大关系,它的存在大多是为了方便地调节颜色的明暗亮度(而且在印刷中,单黑的使用机会是很多的)。

与加法混合一样,三色数值相同时为无色彩的灰度色.

另视觉全色:

HSB色彩空间基于视觉感官原理,根据视觉的感知将色彩分成色度(Hue),饱合度(Saturation),亮度(Brightness)三个元素,HSB有多种量化方式,这里采用常用较常用的一种。

 

 

猜你喜欢

转载自boendev.iteye.com/blog/1329248
今日推荐