使用方法:解压后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相关推荐

  1. linux批量删除指定名称的文件夹

    linux批量删除指定名称的文件夹 find /root/baseline_dataset -name .ipynb_checkpoints | xargs rm -rf find # find 命令 ...

  2. linux替换某个文件夹下所有文件,Linux 批量查找并替换文件夹下所有文件的内容...

    1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...

  3. 【转】“HSB”、“lab“、“CMYK“、“RGB“有什么区别?

    "HSB"."lab"."CMYK"."RGB"有什么区别_百度知道 (baidu.com)https://zhidao ...

  4. Linux批量查找与替换

    Linux批量查找并替换文件夹下所有文件的内容 经常要使用到 Linux的批量查找与替换,这里为大家介绍使用 sed 命令和 grep 命令的结合来实现查找文件中的内容并替换. 语法格式: sed - ...

  5. linux内核map图

    linux内核map图

  6. 在linux批量删除多级目录下同一格式的文件

    在linux批量删除多级目录下同一格式的文件,可采用find + exec命令组合: 如在删除指定目录下的,所有子目录中,后缀为.doc的文件方法为: find file_path -type f - ...

  7. linux批量用户创建,linux 批量用户的创建

    (1)先编辑一个文本用户文件,每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名.UID.宿主目录都不可以相同,其中密码栏可以留做空白或输入x号.一个范例文件user.txt内 ...

  8. linux 批量替换所有文件中包含的字符串

    sed -i "s/原来字符串/新字符串/g" `grep 原来字符串 -rl .`格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 ...

  9. linux中间隔10ping一次脚本,linux批量ping脚本shell

    linux批量ping脚本shell *ping失败后的返回字符串 5 packets transmitted, 0 received, 100% packet loss, time 3999ms* ...

  10. Linux思维导图整理,你确定不收藏?

    前段时间整理了一个Java的思导图,今天整理了一下收集的Linux思维导图. PS.图片都是在学习中或者偶然看到的,感谢感谢,因此我会附上图片的来源,如有侵权,请联系我,谢谢. Linux学习路径: ...

最新文章

  1. HttpWatch7.0测试工具
  2. BZOJ 2257: [Jsoi2009]瓶子和燃料
  3. 细说 #pragma pack(n)
  4. ctr 平滑_CTR预估中的贝叶斯平滑方法及其代码实现
  5. Python enumerate():使用计数器简化循环
  6. PyQt5将ui文件编译为py文件的方法
  7. 安卓手机运行ios教程_安卓手机充电提示音教程
  8. 安装版tomcat tomcat6w.exe参数配置
  9. 知富柜台系统服务器,商业银行柜面无纸化安全解决方案
  10. 信息技术测试计算机疑难问题处理,江苏省中小学信息技术等级考试常见问题处理.doc...
  11. 第三阶段应用层——1.1 数码相册—软件框架
  12. sql 数据库练习, 学生表,成绩表
  13. 与全球外国人即时聊天的网站
  14. Postman做接口测试设置断言
  15. Flink实操 : 算子操作
  16. pandas行/列删除
  17. flask mysql 1366_Flask利用pymysql出现Warning:1366的解决办法
  18. 广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”
  19. 解决:java.lang.IllegalStateException: Failed to load property source from ‘file:~application.yml
  20. java中测试计算能力_CPU运算性能测试、JAVA性能创纪录_三星 I728_手机其它OS-中关村在线...

热门文章

  1. 世界编程语言排名2019_世界十大编程语言-2019一起玩
  2. 批量图片格式转化——gif转换为jpg、png
  3. CKPlayer网页视频播放器
  4. 条码扫描枪的连接与使用方法
  5. cad插入块_【CAD教程】创建块和块应用步骤
  6. iOS打包上传时的四个类型
  7. 【HAVENT原创】CentOS 下 nginx 配置和启动
  8. wps多出来的页面怎么办?wps怎么删除不要的页
  9. win10 u盘 修复计算机,不用u盘修复bootmgrwin10方法
  10. centos更新yum时遇到的问题