您的位置:首页 > 运维架构 > Linux

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: