Linux批量转图,CMYK转RGB
使用方法:解压后sh imageconvert.sh 输入路径 输出路径 定宽宽度x定高高度
定高高度和定宽宽度按照原图的形状,设置值较小一端,另一端按比例缩放
首先要安装ImageMagic
3.0新增加水印
使用色域空间的ICC在附件中。
代码如下:
#/bin/bash## author:wangjianwu#version 0.1if [ ! -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 -1fi
CONVERT="convert"export CMYK_ICC=CoatedFOGRA39.iccexport RGB_ICC=AdobeRGB1998.iccext="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 linedo 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
Linux批量转图,CMYK转RGB相关推荐
- linux批量删除指定名称的文件夹
linux批量删除指定名称的文件夹 find /root/baseline_dataset -name .ipynb_checkpoints | xargs rm -rf find # find 命令 ...
- linux替换某个文件夹下所有文件,Linux 批量查找并替换文件夹下所有文件的内容...
1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...
- 【转】“HSB”、“lab“、“CMYK“、“RGB“有什么区别?
"HSB"."lab"."CMYK"."RGB"有什么区别_百度知道 (baidu.com)https://zhidao ...
- Linux批量查找与替换
Linux批量查找并替换文件夹下所有文件的内容 经常要使用到 Linux的批量查找与替换,这里为大家介绍使用 sed 命令和 grep 命令的结合来实现查找文件中的内容并替换. 语法格式: sed - ...
- linux内核map图
linux内核map图
- 在linux批量删除多级目录下同一格式的文件
在linux批量删除多级目录下同一格式的文件,可采用find + exec命令组合: 如在删除指定目录下的,所有子目录中,后缀为.doc的文件方法为: find file_path -type f - ...
- linux批量用户创建,linux 批量用户的创建
(1)先编辑一个文本用户文件,每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名.UID.宿主目录都不可以相同,其中密码栏可以留做空白或输入x号.一个范例文件user.txt内 ...
- linux 批量替换所有文件中包含的字符串
sed -i "s/原来字符串/新字符串/g" `grep 原来字符串 -rl .`格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 ...
- linux中间隔10ping一次脚本,linux批量ping脚本shell
linux批量ping脚本shell *ping失败后的返回字符串 5 packets transmitted, 0 received, 100% packet loss, time 3999ms* ...
- Linux思维导图整理,你确定不收藏?
前段时间整理了一个Java的思导图,今天整理了一下收集的Linux思维导图. PS.图片都是在学习中或者偶然看到的,感谢感谢,因此我会附上图片的来源,如有侵权,请联系我,谢谢. Linux学习路径: ...
最新文章
- HttpWatch7.0测试工具
- BZOJ 2257: [Jsoi2009]瓶子和燃料
- 细说 #pragma pack(n)
- ctr 平滑_CTR预估中的贝叶斯平滑方法及其代码实现
- Python enumerate():使用计数器简化循环
- PyQt5将ui文件编译为py文件的方法
- 安卓手机运行ios教程_安卓手机充电提示音教程
- 安装版tomcat tomcat6w.exe参数配置
- 知富柜台系统服务器,商业银行柜面无纸化安全解决方案
- 信息技术测试计算机疑难问题处理,江苏省中小学信息技术等级考试常见问题处理.doc...
- 第三阶段应用层——1.1 数码相册—软件框架
- sql 数据库练习, 学生表,成绩表
- 与全球外国人即时聊天的网站
- Postman做接口测试设置断言
- Flink实操 : 算子操作
- pandas行/列删除
- flask mysql 1366_Flask利用pymysql出现Warning:1366的解决办法
- 广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”
- 解决:java.lang.IllegalStateException: Failed to load property source from ‘file:~application.yml
- java中测试计算能力_CPU运算性能测试、JAVA性能创纪录_三星 I728_手机其它OS-中关村在线...