使用方法:解压后sh imageconvert.sh 输入路径 输出路径 定宽宽度x定高高度
定高高度和定宽宽度按照原图的形状,设置值较小一端,另一端按比例缩放
首先要安装ImageMagic
3.0新增加水印
使用色域空间的ICC在附件中。
代码如下:
#/bin/bash
## author:wangjianwu
#version 0.1
if [ ! -x "${1}" ] || [ ! -x "${2}" ] || [ -z ${3} ] || [ -z ${4} ]; then
echo "maybe file not found or command error!"
echo "help:command inputdir outputdir size density [w|h|wh]"
exit -1
fi
CONVERT="convert"
export CMYK_ICC=CoatedFOGRA39.icc
export RGB_ICC=AdobeRGB1998.icc
ext="jpg"
bwidth=`echo "${3}"|awk -F 'x' '{print $1}'`
bheight=`echo "${3}"|awk -F 'x' '{print $2}'`
inpath=${1}
pathPosition=${#inpath}
echo "${pathPosition}"
find ${1} -type f | while read line
do
fext=${line##*.}
if [ "$ext" != "$fext" ]
then
continue
fi
imageFilePath=`echo ${line} | cut -c ${pathPosition}-${#line}`
imageOutputPath="${2}${imageFilePath}"
op="${2}"
#ps=`echo $str|tr '\/' ' '|tr -s ' '`
ps=`echo ${imageFilePath} | sed 's/\// /g'`
endps=`echo ${imageFilePath} | awk -F "\/" '{print $NF}'`
for keystr in `echo ${imageFilePath} | sed 's/\// /g'`
do
op="${op}/${keystr}"
if [ "$keystr" = "$endps" ]
then
continue
fi
if [ ! -x ${op} ]
then
mkdir ${op}
fi
done
#get width and heigth
width=`identify -format "%w" ${line}`
height=`identify -format "%h" ${line}`
#echo "${width}========${height}"
if [ ! -z ${5} ] && [ "${5}" == "w" ]
then
echo "xxxX"
bsize="${bwidth}x${height}"
elif [ ! -z ${5} ] && [ "${5}" == "h" ]
then
echo "yy"
bsize="${width}x${bheight}"
elif [ ! -z ${5} ] && [ "${5}" == "wh" ]
then
echo "xxy"
bsize="${bwidth}x${bheight}"
elif [ $width -gt $height ]
then
# echo "width>height"
bsize="${width}x${bheight}"
elif [ $width -lt $height ]
then
# echo "width<height"
bsize="${bwidth}x${height}"
else
if [ $bwidth -gt $bheight ]
then
bsize="${bwidth}x${bwidth}"
else
bsize="${bheight}x${bheight}"
fi
fi
convertCommand="${CONVERT} -density ${4} -units PixelsPerInch ${line} -resize ${bsize} -profile ${CMYK_ICC} -profile ${RGB_ICC} ${imageOutputPath}"
echo ${convertCommand}
${convertCommand}
echo "${width}x${height}"
done
分享到:
相关推荐
【秋天一键图片批量黑白V1.01图片批量变为黑白图】 这是一款名为"秋天一键图片批量黑白V1.01"的软件工具,专为用户提供便捷的图片处理功能,尤其是将彩色图片批量转化为黑白效果。该软件基于Qt库开发,确保了其跨...
对于需要快速转换图像色彩模式的应用,如从RGB到CMYK,ImgScale也提供了相应的功能。对于摄影师和设计师而言,这样的功能无疑是极具吸引力的。 在图像处理过程中,有时我们需要进行旋转或翻转操作。ImgScale-2.8.14...
2. **色彩模式转换**:软件能够将图像从一种色彩模式转换为另一种,如从RGB(红绿蓝)转换为CMYK(青、洋红、黄、黑)用于印刷,或者转换为灰度或索引颜色模式。 3. **图像编辑功能**:这些软件通常包含基础和高级...
9. **多平台兼容性**:Java的跨平台特性使得PDF转图片的解决方案可以在Windows、Linux和Mac OS等多种操作系统上运行。 10. **实战示例**:下面是一个使用Apache PDFBox进行PDF转图片的简单代码示例: ```java ...
6. 输出设置:除了尺寸调整,编辑器可能还包括输出设置选项,如调整图像的分辨率、压缩级别、颜色模式(RGB、CMYK等)等,以满足特定需求。 7. 用户界面与易用性:良好的用户界面设计是软件成功的关键因素之一。这...
7. **颜色空间转换**:可以将图像从RGB转换到CMYK或其他颜色空间,满足印刷或特定显示需求。 8. **批处理**:通过批处理功能,可以一次性处理大量图像,极大地提高了工作效率。 9. **动画处理**:支持GIF动画的...
3. 色彩管理:可以转换色彩空间,如从RGB到CMYK,或者调整图像的亮度、对比度、饱和度等参数。 4. 特效应用:提供多种滤镜和特效,如模糊、锐化、噪声消除、边框、阴影、渐变等。 5. 文字与水印:可以在图像上添加...
2. **色彩空间转换**:支持从RGB到CMYK、HSV、L*a*b等多种色彩空间的转换,这对于图像的色彩校正和处理至关重要。 3. **图像滤波**:提供了多种滤波器,如模糊、锐化、边缘检测等,可以对图像进行艺术效果处理或...
- **颜色操作**:调整图像的亮度、对比度、饱和度,以及进行颜色空间转换(如RGB到CMYK)。 - **文本添加**:在图像上添加文字,支持多种字体和样式。 #### 命令行界面与脚本编写 ImageMagick的命令行工具是其最...
源码分析可以帮助我们理解图像处理背后的算法,比如如何实现灰度转换、色彩空间转换(如RGB到CMYK)、图像锐化或模糊处理等。 至于文件名称"DSCN1443.JPG",看起来像是数码相机生成的默认文件名,通常这样的名称...
C++中的类和对象可以帮助我们组织代码,实现面向对象的设计,而图像处理则涉及到像素操作、颜色模型(如RGB、CMYK)、图像滤波(如高斯模糊、锐化)、图像变换(如缩放、旋转)等技术。 此外,G'MIC支持脚本语言,...
2. 颜色模式:TIFF支持灰度、RGB、CMYK等多种颜色模式,以及索引颜色模式。 3. 图像深度:TIFF可以存储从1到32位的像素深度,支持单通道(灰度)、双通道(如RG)和多通道(如RGB)图像。 4. 像素布局:TIFF文件中的...
5. **高级功能**:包括图像分析(如识别形状、检测特征)、合成(层叠图像、混合模式)、颜色空间转换(如CMYK到RGB)、以及数学运算和函数应用到像素值。 6. **编程接口**:ImageMagick还提供了丰富的编程接口,如...
TIFF文件格式最初由Aldus公司(现为Adobe)开发,支持多种色彩模式,包括灰度、彩色索引、RGB、CMYK等。它还支持多页文档,可以存储多个图像在一个单一的文件中,这在处理连续的扫描页面或创建多图像文档时非常有用...
图像处理中,libjpeg-turbo支持多种色彩空间转换,包括常见的YCbCr到RGB,以及Adobe CMYK到RGB的转换。这种灵活性使得libjpeg-turbo能够处理各种色彩模式的JPEG图像。 5. **内存管理**: 库中的内存管理经过优化...
6. **颜色空间转换**:支持从RGB到CMYK、灰度或其他颜色空间的转换。 7. **元数据处理**:读取和写入图像的元数据,如EXIF信息。 8. **跨平台兼容性**:能够在多种操作系统(如Windows、Linux、Mac OS)上运行。 9. ...