imagemagick在程序中调用(linux环境,jsp,php)
2009-12-02 13:15
405 查看
最近发现图片格式为cmyk时,图片上传浏览器不能正常显示,图片缩放会变成黑屏,
后来通过google发现imagemagick的功能很强大,安装可以采用两种方法,1)直接与php编译安装,在程序中调用;2)直接安装,调用系统命令方式使用
为简单,我们采用了第2种,直接利用php或jsp调用convert命令实现了图片从cmyk格式转换到rgb格式:
convert.php
<?php
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
<%
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中:
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;
}
后来通过google发现imagemagick的功能很强大,安装可以采用两种方法,1)直接与php编译安装,在程序中调用;2)直接安装,调用系统命令方式使用
为简单,我们采用了第2种,直接利用php或jsp调用convert命令实现了图片从cmyk格式转换到rgb格式:
convert.php
<?php
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
<%
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中:
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;
}
相关文章推荐
- 在windows下开发面向Linux的php程序环境搭建
- Linux C程序操作Mysql 调用PHP采集淘宝商品
- linux环境php调用sqlServer2000存储过程遇到的问题
- php的入门第一个例子(包括linux的环境安装与包括页面跳转,以及curl命令的调用)
- linux环境c++程序调用shell返回值问题
- 关于高清在线播放器:[迅播播放器][可使用javascript调用][完全兼容asp,jsp,php,.net等主流语言编写的程序]
- php调用Linux命令启动程序(root权限)
- PHP调用C程序问题(C程序需要在后台驻留)涉及LINUX权限问题
- 在CentOS 7 64位操作系统环境下搭建LNMP(Linux+Nginx+MySQL+PHP)来运行Zabbix监控程序
- Linux -- Web服务器配置及PHP解释器的安装;JSP运行环境的配置(Tomcat安装)
- linux平台下的php,jsp环境配置
- linux-apache-php,jsp环境
- 在JAVA与JSP中要调用一个LINUX上的脚本程序,或WINDOWS上的脚本程序
- 在Linux上搭建JSP运行环境(Linux+Apache+PHP+JSP)
- linux平台下的php,jsp环境配置
- linux下使用jni实现c++调用java程序(2)找不到java类的问题
- Linux下从零开始安装配置Nginx服务器+PHP开发环境
- Linux下配置php开发环境
- linux下让自己的程序调用caffe库
- Android: 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本