在線圖片處理平臺[轉]

http://blog.liuts.com/post/178/

 

 

平臺基於php+ImageMagick+prototype.js,實現在線圖片處理。可以處理來自服務器本身、遠程服務器及用戶本地的圖片,支持JPG、BMP、GIF、FITS、PNG、TIFF、PDF、MIFF、PSD、WBMP等幾十種常用文件格式。

在線測試
http://webps.liuts.com

平臺界面
點擊在新窗口中瀏覽此圖片

處理代碼

  1. <?  
  2. /*  
  3. 作者:劉天斯  
  4. 郵箱:[email protected]  
  5. 最後更新:2007-01-25 10:27  
  6. BLOG:http://blog.liuts.com  
  7. 功能:實現根據處理ID進行相應的圖片處理;  
  8. */   
  9.   
  10. session_start();  
  11. header("Content-Type: text/html;charset=GBK" );  
  12. $va = $_REQUEST [va];  
  13. $vb = $_REQUEST [vb];  
  14. $vc = $_REQUEST [vc];  
  15. $vd = $_REQUEST [vd];  
  16. $ve = $_REQUEST [ve];  
  17. $optype = $_REQUEST [optype];  
  18. $textCent = $_REQUEST [textCent];  
  19. copy ( "Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1], "tmp/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]);  
  20. switch  ( $optype ) {  
  21. case   "1" :  
  22.     exec ( "/usr/local/bin/convert -mattecolor " . $ve . " -frame " . $va . "x" . $va . "+" . $vb . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]);  
  23.     break ;  
  24. case   "2" :  
  25.     exec ( "/usr/local/bin/convert -resize " . $va . "x" . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  26.     break ;  
  27. case   "3" :  
  28.     exec ( "/usr/local/bin/convert -flip Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  29.     break ;  
  30. case   "4" :  
  31.     exec ( "/usr/local/bin/convert -flop Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  32.     break ;  
  33. case   "5" :  
  34.     exec ( "/usr/local/bin/convert -raise " . $va . "x" . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  35.     break ;  
  36. case   "6" :  
  37.     exec ( "/usr/local/bin/convert +raise " . $va . "x" . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  38.     break ;          
  39. case   "7" :  
  40.     exec ( "/usr/local/bin/convert -sharpen " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  41.     break ;      
  42. case   "8" :  
  43.     exec ( "/usr/local/bin/convert -monochrome Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  44.     break ;  
  45. case   "9" :  
  46.     exec ( "/usr/local/bin/convert -colorize " . $va . "," . $vb . "," . $vc . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  47.     break ;  
  48. case   "10" :  
  49.     exec ( "/usr/local/bin/convert -sample 10% -sample 1000% Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  50.     break ;        
  51. case   "12" :  
  52.     exec ( "/usr/local/bin/convert -rotate " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  53.     break ;  
  54. case   "13" :  
  55.     exec ( "/usr/local/bin/convert -modulate 110,100,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  56.     break ;  
  57. case   "14" :  
  58.     exec ( "/usr/local/bin/convert -modulate 90,100,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  59.     break ;          
  60. case   "15" :  
  61. exec ( "/usr/local/bin/convert -modulate 100,110,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  62.     break ;  
  63. case   "16" :  
  64. exec ( "/usr/local/bin/convert -modulate 100,90,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  65.     break ;  
  66. case   "17" :  
  67. exec ( "/usr/local/bin/convert -modulate 100,100,110 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  68.     break ;  
  69. case   "18" :  
  70. exec ( "/usr/local/bin/convert -modulate 100,100,90 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  71.     break ;      
  72. case   "19" :  
  73.     exec ( "/usr/local/bin/convert Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " -crop " . $vc . "x" . $vd . "+" . $va . "+" . $vb . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  74.     break ;  
  75. case   "20" :  
  76.     exec ( "/usr/local/bin/convert -blur " . $va . "x" . $vb . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  77.     break ;     
  78. case   "21" :  
  79.     exec ( "/usr/local/bin/convert -noise 3 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  80.     break ;  
  81. case   "22" :  
  82.     exec ( "/usr/local/bin/convert -paint 3 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  83.     break ;  
  84. case   "23" :  
  85.     exec ( "/usr/local/bin/convert -charcoal " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  86.     break ;  
  87. case   "24" :  
  88.     exec ( "/usr/local/bin/convert -spread " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  89.     break ;  
  90. case   "25" :  
  91.     exec ( "/usr/local/bin/convert -swirl " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  92.     break ;  
  93. case   "26" :  
  94.     exec ( "/usr/local/bin/convert -font ./MX1GJM.TTF -fill beige -pointsize 25 -draw 'text " . $va . "," .( $vb +19). " /"'`echo " . $textCent . "|iconv -f GB2312 -t UTF-8`'/"' -fill royalblue  -pointsize 25 -draw 'text " .( $va +1). "," .( $vb -1+19). " /"'`echo " . $textCent . "|iconv -f GB2312 -t UTF-8`'/"' Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  95.     break ;  
  96. case   "28" :  
  97.     exec ( "/usr/local/bin/convert -colorspace gray  -normalize -fill gray50 -colorize 70% Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  98.     break ;  
  99. case   "29" :  
  100.     exec ( "/usr/local/bin/convert -wave " . $va . "x" . $vb . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  101.     break ;        
  102. case   "" :  
  103.     $tmpimg = $_FILES [ 'uploadimage' ][ 'name' ];  
  104.     $filebase = strtolower ( strrchr ( $_FILES [ 'uploadimage' ][ 'name' ], "." ));  
  105.     if  ( $filebase != ".jpg"   and   $filebase != ".gif"   and   $filebase != ".png"   and   $filebase != ".jpeg"   and   $filebase != ".bmp" )  
  106.     {  
  107.       $Success = "0" ;  
  108.       $error = "Ö»ÔÊÐíÉÏŽ«ÍŒÏñžñÊœÎÄŒþ£¬Èç.jpg¡¢.gif¡¢.pngµÈ¡£" ;  
  109.     }  
  110.     else   
  111.     {  
  112.       if  (@move_uploaded_file( $_FILES [ 'uploadimage' ][ 'tmp_name' ], "Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $tmpimg ))  
  113.       {  
  114.         $Success = "1" ;  
  115.         $img_info  =  getimagesize ( "Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $tmpimg );  
  116.         exec ( "/usr/local/bin/convert -draw 'image Over " . $va . "," . $vb . "," . $img_info [0]. "," . $img_info [1]. " Finally/" . $_SESSION ['USERSESSION '][0]."/".$tmpimg."'  Finally/". $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );  
  117.       }  
  118.       else   
  119.       {  
  120.         $Success = "0" ;  
  121.         $error = "ÎÄŒþÉÏŽ«Ê§°Ü£¬ÇëÓë[email protected]ÁªÏµ¡£" ;  
  122.       }  
  123.     }  
  124.     break ;  
  125. }  
  126.   
  127. if  ( $optype == "19"  ||  $optype == "26" )  
  128. {  
  129.   echo   "{/n" ;  
  130.   echo   "/"item/": [/n" ;  
  131.   echo   "            {/n" ;  
  132.   echo   "            /"result/": /"1/",/n" ;  
  133.   echo   "            /"link/": /"2/"/n" ;  
  134.   echo   "             }/n" ;  
  135.   echo   "          ]/n" ;  
  136.   echo   "}/n" ;    
  137. }  
  138. else   if  ( $optype == "" )  
  139. {  
  140.   if  ( $Success == "1" )  
  141.   {  
  142.     echo   "<script language='javascript'>/n" ;  
  143.     echo   "window.top.opener.document.getElementById(/"Finallyimg/").src='Finally/" . $_SESSION ['USERSESSION '][0]."/".$_SESSION[' USERSESSION '][1]."?".time()."' ;/n";  
  144.     echo   "top.opener=null;top.close();/n" ;  
  145.     echo   "</script>/n" ;    
  146.   }  
  147.   else   
  148.   {  
  149.     echo   "<script language='javascript'>/n" ;  
  150.     echo   "alert(/"$error/")" ;  
  151.     echo   "</script>/n" ;        
  152.   }  
  153. }  
  154. else   
  155. {  
  156.         $Finally_info = explode ( " " , exec ( "identify Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]));  
  157.         echo   "<img src=Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "?" .time(). "  id=/"Finallyimg/" οnlοad=/"window.status='圖像基本信息【文件格式:" . $Finally_info [1]. "   分辨率:" . $Finally_info [2]. "   文件大小:" . round (( $Finally_info [5]/1024),2). "k】  
  158. '/">" ;  
  159. }  
  160. ?>  

 
發佈了0 篇原創文章 · 獲贊 0 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章