http://blog.liuts.com/post/178/
平台基于php+ImageMagick+prototype.js,实现在线图片处理。可以处理来自服务器本身、远程服务器及用户本地的图片,支持JPG、BMP、GIF、FITS、PNG、TIFF、PDF、MIFF、PSD、WBMP等几十种常用文件格式。
在线测试
http://webps.liuts.com
平台界面
处理代码
- <?
- /*
- 作者:刘天斯
- 邮箱:liutiansi@gmail.com
- 最后更新:2007-01-25 10:27
- BLOG:http://blog.liuts.com
- 功能:实现根据处理ID进行相应的图片处理;
- */
- session_start();
- header("Content-Type: text/html;charset=GBK" );
- $va = $_REQUEST [va];
- $vb = $_REQUEST [vb];
- $vc = $_REQUEST [vc];
- $vd = $_REQUEST [vd];
- $ve = $_REQUEST [ve];
- $optype = $_REQUEST [optype];
- $textCent = $_REQUEST [textCent];
- copy ( "Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1], "tmp/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]);
- switch ( $optype ) {
- case "1" :
- 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]);
- break ;
- case "2" :
- exec ( "/usr/local/bin/convert -resize " . $va . "x" . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "3" :
- exec ( "/usr/local/bin/convert -flip Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "4" :
- exec ( "/usr/local/bin/convert -flop Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "5" :
- exec ( "/usr/local/bin/convert -raise " . $va . "x" . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "6" :
- exec ( "/usr/local/bin/convert +raise " . $va . "x" . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "7" :
- exec ( "/usr/local/bin/convert -sharpen " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "8" :
- exec ( "/usr/local/bin/convert -monochrome Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "9" :
- exec ( "/usr/local/bin/convert -colorize " . $va . "," . $vb . "," . $vc . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "10" :
- exec ( "/usr/local/bin/convert -sample 10% -sample 1000% Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "12" :
- exec ( "/usr/local/bin/convert -rotate " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "13" :
- exec ( "/usr/local/bin/convert -modulate 110,100,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "14" :
- exec ( "/usr/local/bin/convert -modulate 90,100,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "15" :
- exec ( "/usr/local/bin/convert -modulate 100,110,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "16" :
- exec ( "/usr/local/bin/convert -modulate 100,90,100 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "17" :
- exec ( "/usr/local/bin/convert -modulate 100,100,110 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "18" :
- exec ( "/usr/local/bin/convert -modulate 100,100,90 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "19" :
- 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]. "" );
- break ;
- case "20" :
- exec ( "/usr/local/bin/convert -blur " . $va . "x" . $vb . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "21" :
- exec ( "/usr/local/bin/convert -noise 3 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "22" :
- exec ( "/usr/local/bin/convert -paint 3 Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "23" :
- exec ( "/usr/local/bin/convert -charcoal " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "24" :
- exec ( "/usr/local/bin/convert -spread " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "25" :
- exec ( "/usr/local/bin/convert -swirl " . $va . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "26" :
- 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]. "" );
- break ;
- case "28" :
- 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]. "" );
- break ;
- case "29" :
- exec ( "/usr/local/bin/convert -wave " . $va . "x" . $vb . " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. " Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]. "" );
- break ;
- case "" :
- $tmpimg = $_FILES [ 'uploadimage' ][ 'name' ];
- $filebase = strtolower ( strrchr ( $_FILES [ 'uploadimage' ][ 'name' ], "." ));
- if ( $filebase != ".jpg" and $filebase != ".gif" and $filebase != ".png" and $filebase != ".jpeg" and $filebase != ".bmp" )
- {
- $Success = "0" ;
- $error = "Ö»ÔÊÐíÉÏŽ«ÍŒÏñžñÊœÎÄŒþ£¬Èç.jpg¡¢.gif¡¢.pngµÈ¡£" ;
- }
- else
- {
- if (@move_uploaded_file( $_FILES [ 'uploadimage' ][ 'tmp_name' ], "Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $tmpimg ))
- {
- $Success = "1" ;
- $img_info = getimagesize ( "Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $tmpimg );
- 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]. "" );
- }
- else
- {
- $Success = "0" ;
- $error = "ÎÄŒþÉÏŽ«Ê§°Ü£¬ÇëÓëliutiansi@gamil.comÁªÏµ¡£" ;
- }
- }
- break ;
- }
- if ( $optype == "19" || $optype == "26" )
- {
- echo "{/n" ;
- echo "/"item/": [/n" ;
- echo " {/n" ;
- echo " /"result/": /"1/",/n" ;
- echo " /"link/": /"2/"/n" ;
- echo " }/n" ;
- echo " ]/n" ;
- echo "}/n" ;
- }
- else if ( $optype == "" )
- {
- if ( $Success == "1" )
- {
- echo "<script language='javascript'>/n" ;
- echo "window.top.opener.document.getElementById(/"Finallyimg/").src='Finally/" . $_SESSION ['USERSESSION '][0]."/".$_SESSION[' USERSESSION '][1]."?".time()."' ;/n";
- echo "top.opener=null;top.close();/n" ;
- echo "</script>/n" ;
- }
- else
- {
- echo "<script language='javascript'>/n" ;
- echo "alert(/"$error/")" ;
- echo "</script>/n" ;
- }
- }
- else
- {
- $Finally_info = explode ( " " , exec ( "identify Finally/" . $_SESSION [ 'USERSESSION' ][0]. "/" . $_SESSION [ 'USERSESSION' ][1]));
- 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】
- '/">" ;
- }
- ?>