将图片由 RGB 转为 CMYK 格式

$file = 'orignal.png';
$file_cmyk = str_replace('.png', '_cmyk.jpg', $file);
$icc1 = \Yii::getAlias('@vendor/imagine/imagine/lib/Imagine/resources/color.org/sRGB_IEC61966-2-1_black_scaled.icc');
$icc2 = \Yii::getAlias('@vendor/imagine/imagine/lib/Imagine/resources/Adobe/CMYK/USWebUncoated.icc');
$cmd = "convert $file -intent relative -black-point-compensation -profile $icc1 -profile $icc2 -quality 100 $file_cmyk";
system($cmd);

 

convert 命令剪切合并图片

剪切和合并应用两个不同的参数分两次进行处理。

剪切图片使用的命令为:

convert -crop MxN+a+b src.jpg dst.jpg

从原始图片中剪切出 M x N 尺寸(宽为M,高为N)的图片,+a+b 表示以左上角为坐标原点,右和下方向分别为X轴Y轴的点 (a,b) 位置开始。你也可以使用 -a-b 以右下角为坐标原点,左和上为XY轴的坐标系。

合并图片的命令为:

convert -append 1.jpg 2.jpg dst.jpg

上面命令将图片1和图片2合并得到图片dst.jpg,左边对齐,垂直方向合并,假设 1.jpg 和 2.jpg 尺寸都为 300 x 400 那么合并得到的图片dst.jpg尺寸为 300 x 800。

使用

convert +append 1.jpg 2.jpg 3.jpg

+append 图片在水片方向上合并,得到的图片3尺寸为 600 x 400

掌握上面用法就可以很方便的完成类似这样的任务:你分别扫描了身份证正面和反面两张照片,需要将身份证正反面合并到一张照片上去。

参考:http://www.imagemagick.org/Usage/crop/