- 首先颜色配置文件的重要性不言而喻
我们在使用CDR的全过程中,时时刻刻都在受这个颜色配置文件的影响,而各个设置之间本身是有显色的差异,而ICC颜色标准的诞生就是为了解决这个问题的,所有输入与输出设备都只要与ICC建立一次颜色转换,那么这一个图像就能畅行无阻的在其它设备上以极小的色差显示出来,这就是ICC预置文件在起作用,用以淘汰老套的一对一封闭式颜色转换. - CDR内部的颜色配置
既然我们知道了ICC的强大作用,我们回过来看一下CDRX4内部是如何对颜色进行配置的,因为你不设置好这个颜色配置,有可能你在屏幕上看到颜色与最后印刷出来的颜色有极大的色差,而CDR经常是用来处理印刷品的,所以要对CMYK进行同步转换RGB显示
-
在上图中我们可以看到一个大概的流程, 当然这张图片是以我的颜色配置为例子而已.
首先看到中间的sRGB这个圆,这个就是ICC标准,sRGB就是标准之一,有V2版本和V4版本, 我们可以试着把这些箭头点亮或者点暗, 会发现不论你怎么点,这个颜色配置都绕不开中间ICC这个圆.这个ICC可以双击打开,匹配转型默认是自动的,ICC在诞生之初就有好几种不同的显色修正模式,当然我们使用默认的自动即可. -
然后可以看到右上角是输入设备,比如照像机或者扫描仪等等,默认是通用预置文件,也就是扫描仪在扫到图像之后,使用这个通用的预置文件把颜色翻译成ICC标准并保存下来
-
然后从sRGB到右侧的通用胶印分离预置文件,是说再把这刚刚保存的文件经过这个通用胶印分离预置文件转换成胶印机修正后的CMYK四种颜色,这时的颜色就是适配大部分胶印机的颜色
-
然后下面中间这个从通用胶印分离预置文件箭头指到显示器,就是再把刚刚的CMYK再通过显示器通用预置文件转换为RGB显示,这样显示出来的颜色就是能非常接近印刷色的屏幕色了(这里插入说明一下:RGB是255x255x255=16,581,375大约一千六百多万种颜色,而CMYK只有101x101x101=1,030,301大约一百万种颜色,可以看到显示范围差了16倍,这也是为何屏幕显色会鲜艳丰富多彩一些的原因,而且屏幕是本身会发光的,是用的减色法,而纸张本身是不会发光,需要借助反光是增色法,所以更近一步压缩的颜色的明亮度等等,但CMYK多了个K黑色系,对灰色的表现会有提升)
-
最后再连一下从胶印机到普通打印机即可,这样子直接打印内容也不会太偏色,为什么要把普通打印机和胶印机分开呢,因为胶印机是有印刷网点的,而普通打印机一般是墨水和碳粉,印刷介质不同,胶印机的印刷精度要高很多
好了,我们进入正题,我们这一节主要是想做一个检测的功能,因为颜色配置文件会因为莫名奇妙的原因发生改变,包括被其它软件篡改,或者是不小心按到了某些功能键发生改变,导致很多颜色上的问题,所以这里我们做一个颜色配置文件检测功能,先上代码
Sub checkColorManager()Dim bool1 As Boolean: bool1 = CorelDRAW.ColorManager.SeparationPrinterCalibrated '颜色是否输出分色大型印刷机Dim bool2 As Boolean: bool2 = CorelDRAW.ColorManager.ScannerCalibrated '颜色是否从扫描仪输出Dim bool3 As Boolean: bool3 = CorelDRAW.ColorManager.CompositePrinterCalibrated '颜色是否往打印机输出Dim bool4 As Boolean: bool4 = CorelDRAW.ColorManager.CompositePrinterSimulatesSeparation '打印机是否模拟印刷机Dim monitorInt As Integer: monitorInt = CorelDRAW.ColorManager.MonitorCalibration '显示器当前输出状态 3为分色印刷机输出显示器状态If bool1 = True And bool2 = True And bool3 = True And bool4 = True And monitorInt = 3 ThenElseMsgBox "颜色配置有问题已中断本次执行,CDR配置不正确极高的颜色变色风险,请打开工具->颜色管理核对检查"Exit SubEnd If
End Sub
这样子一个颜色配置文件检测功能就做好了,再回到按钮界面调用一下吧
Sub 第一个插件()tool.checkColorManager
End Sub
这个时候,我们试一下只要我们的颜色配置文件的箭头没点上就会自动提示我们,这样子我们可以把这个功能加入到其它功能里面就好了,一般时候不用专门做这样子一个功能,我这里只是为了演示而已
代码释义:
Boolean
这是一个布尔值,是常用量,里面只有true或者false两种状态
这一次Dim设置一个变量后,我们加上了:
冒号,这个就是在设置变量的时候直接进行初始化,后面接变量名和赋值等于号=
和数值即可
'
号是一个说明性的符号,这个符号后面的文字是专门写备注用的,不是写给程序看的,程序在执行的时候会忽略