最近发现图片格式为cmyk时,图片上传浏览器不能正常显示,图片缩放会变成黑屏,

后来通过google发现imagemagick的功能很强大,安装可以采用两种方法,1)直接与php编译安装,在程序中调用;2)直接安装,调用系统命令方式使用

为简单,我们采用了第2种,直接利用php或jsp调用convert命令实现了图片从cmyk格式转换到rgb格式:

convert.php

Copy to Clipboard

引用的内容:[www.veryhuo.com]

exec("/usr/local/bin/convert -colorspace rgb

/mnt/smb/proimg_original/img_u/shop_img/89/cs01831/sregist_1259723804077.jpg

/mnt/smb/proimg_original/img_u/shop_img/89/cs01831/sregist_1259723804077.jpg");

?>

php convert ok!!

convert.jsp

Copy to Clipboard

引用的内容:[www.veryhuo.com]

Process process=Runtime.getRuntime().exec("/usr/local/bin/convert -colorspace rgb /mnt/smb/proimg_original/img_u/shop_img/89/cs01831/sregist_1259729432644.jpg /mnt/smb/proimg_original/img_u/shop_img/89/cs01831/sregist_1259729432644.jpg");

%>

jsp convert ok!

同时提供一个简单的java函数,这样方便的集成在java中:

Copy to Clipboard

引用的内容:[www.veryhuo.com]

public static boolean cmyk2rgb(String file){

File d = new File(file);

if(d.isDirectory()){

try{

String[] commands = {"/bin/sh", "-c", "/usr/local/bin/convert -colorspace

rgb " + file + " " + file};

Process process = Runtime.getRuntime().exec(commands);

process.waitFor();

return true;

}catch(Exception e){

e.printStackTrace();

return false;

}

}

return true;

}

Linux jsp php集成环境,ImageMagick在程序中调用(linux环境,jsp,php)相关推荐

  1. 安卓程序中调用 linux 命令

    博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 在研究串口 jni 开发的时候,遇到了这样一段代码: Process su;su = Runtime.getRuntim ...

  2. 如何找到 AWS 环境下应用程序中易于得手的漏洞?

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 本文作者介绍如何从AWS环境下的应用程序中找到易于发现的漏洞.如下是全文. 毋庸置疑,云环境已主导当前市场.服务提供商中,AWS 的地位正在上升 ...

  3. ios集成firebase_如何使用Firebase将Google Login集成到Ionic应用程序中

    ios集成firebase by Ryan Gordon 通过瑞安·戈登(Ryan Gordon) 如何使用Firebase将Google Login集成到Ionic应用程序中 (How to int ...

  4. 上传应用程序到谷歌商店_将Google图书搜索集成到PHP应用程序中

    上传应用程序到谷歌商店 常用缩略语 API:应用程序编程接口 DOM:文档对象模型 HTTP:超文本传输​​协议 HTML:超文本标记语言 ISBN:国际标准书号 REST:代表性状态转移 URL:统 ...

  5. 本地方法(JNI)——从java 程序中调用C函数

    [0]README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法--从java 程序中调用C函数 的基础知识 : 2) for source code, ...

  6. shell 调用matlab,在matlab中调用linux命令 以及后台运行matlab --zz

    由于matlab和linux命令各有所长:matlab比较擅长数值计算,linux命令比较擅长文件操作(matlab也基本上能够完成,但会稍微麻烦一点).所以在很多时候会需要将二者结合起来. 可能更多 ...

  7. 在Delphi程序中调用控制面板设置功能

    ====================================================== 注:本文源代码点此下载 ================================= ...

  8. $Django 多表操作(增删改查,基于双下划线,对象的查询) 在Python脚本中调用Django环境...

    0在Python脚本中调用Django环境. import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTIN ...

  9. 在VB应用程序中调用Excel2000

    Visual Basic简称(VB)是设计Windows应用程序强有力的开发工具,"全球绝大多数Windows应用程序都是用VB开发的": Excel是目前使用最广泛的办公应用软件 ...

最新文章

  1. 怎么写shell脚本才能不耍流氓?
  2. 【华为AI十强应用·上卷】官宣!这里的AI应用“神了”……
  3. js校验文本框只能输入数字(包括小数)
  4. solr 启动时指定 solr.home
  5. 20级:班级日常分享,一天一瞬间
  6. jaxb注解使用_使用JAXB时
  7. Mac OSX 命令行知识
  8. 华中科大10年计算机考研复试机试
  9. mybatis配置 SqlMapConfig.xml user.xml
  10. 提升UI设计界面高级感的小技巧
  11. 32 管道 共享数据 进程池
  12. 关于android的apk版本升级的一些建议
  13. “一云多Region”究竟能为企业解决什么问题?
  14. 一个初学者的辛酸路程-Python基础-3
  15. 每日学习(Git和Github)
  16. openGauss长沙Meetup | 共建数据库可信开源社区
  17. 2017《Java技术预备作业1》计科1502杨雪莹
  18. 自动聚焦技术(AF)
  19. 当x大于时,y等于1;当x等于0时,y等于0;当x小于0时,y等于-1。
  20. 【spark系列9】spark 的动态分区裁剪上(Dynamic partition pruning)-逻辑计划

热门文章

  1. senet-运行和结构篇
  2. carplant_mxnet
  3. Linux有问必答:如何在树莓派上安装USB网络摄像头
  4. Ubuntu下qt5无法输入中文
  5. mac模式怎样构造在jsp中_mac下tomcat的配置和jdk的设置 jsp的初级知识
  6. python编程(巧用装饰器)
  7. 基于STM32F1单片机、ESP8266WIFI模块、DHT11温湿度传感的WIFI网络温湿度传输系统
  8. java default类型_java – 带有限定符@Default的ZZZZ类型的不满意依赖项
  9. python调用什么函数实现对文件内容的读取_python读取文本文件数据
  10. android studio 单元测试用法,基于Android Studio2.1.1 进行单元测试完整教程