最近发现图片格式为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;
    }

 

相关文章:

  • 2021-05-18
  • 2021-10-06
  • 2022-12-23
  • 2021-12-04
  • 2021-09-04
  • 2022-01-05
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
  • 2021-05-04
  • 2021-12-31
  • 2021-06-10
相关资源
相似解决方案