zoukankan      html  css  js  c++  java
  • imagemagick在程序中调用(linux环境,jsp,php)

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

  • 相关阅读:
    【分治法】线性时间选择(转)
    【分治法】最接近点对问题(转)
    概率DP入门总结 16题(转)
    动态规划初探及什么是无后效性? (转)
    第15章DP(转)
    整数快速乘法/快速幂+矩阵快速幂+Strassen算法 (转)
    矩阵乘法的理解(转)
    算法导论第4章习题与思考题(转)
    Transaction Script模式
    注册服务
  • 原文地址:https://www.cnblogs.com/coffee_cn/p/1615252.html
Copyright © 2011-2022 走看看