php+jquery在線上切图代码[防dedecms] <頭> クロッパー <br> a:リンク、a:訪問済み、a:アクティブ{<br> 色: #000;<br> テキスト装飾: なし;<br> フォントの太さ: 太字;<br> }<br> <br> a:ホバー{<br> 色: #fff;<br> 背景色: #000;<br> }<br> <br> #hd{<br> フォントサイズ: 2em;<br> フォントの太さ: 太字;<br> text-align: left;<br> パディングボトム: 20px;<br> border-bottom: 1px ソリッド #ccc;<br> マージン: 10px 0 10px 0;<br> }<br> <br> #uploadForm、#downloadLink{<br> text-align: 中央;<br> }<br> <br> #imageContainer{<br> マージン: 20px 0px 20px 0;<br> }<br> <br> #フィート{<br> マージントップ: 10px;<br> パディングトップ: 10px;<br> border-top:1px ソリッド #ccc;<br> text-align: 中央;<br> }<br> </スタイル><br> <br> <スクリプトタイプ="text/javascript"><br> アップロード者 = {<br> キャリー: function(){<br> // フォームを設定します<br> YAHOO.util.Connect.setForm('uploadForm', true);<br> // 画像をアップロード<br> YAHOO.util.Connect.asyncRequest('POST', 'upload.php', {<br> アップロード: function(o){<br> // json データを解析します<br> var jsonData = YAHOO.lang.JSON.parse(o.responseText);<br> <br> // 画像を画像コンテナに入れます<br> YAHOO.util.Dom.get('imageContainer').innerHTML = '<img id="yuiImg" src="' + jsonData.image + '" width="' + jsonData.width + '" height="' + jsonData.height + '" alt="" />';<br> <br> // Photoshop を初期化します<br> photoshop.init(jsonData.image); <br> <br> // 最初のトリミングされた画像を取得します<br> photoshop.getCroppedImage();<br> }<br> });<br> }<br> };<br> <br> フォトショップ = {<br> 画像: ヌル、<br> クロップ: null、<br> //url: null,<br> <br> init: function(image){<br> // set our image<br> photoshop.image = image;<br> <br> // our image cropper from the uploaded image<br> photoshop.crop = new YAHOO.widget.ImageCropper('yuiImg');<br> photoshop.crop.on('moveEvent', function() {<br> // get updated coordinates<br> photoshop.getCroppedImage();<br> }); <br> },<br> <br> getCroppedImage: function(){<br> var coordinates = photoshop.getCoordinates();<br> var url = 'crop.php?image=' + photoshop.image + '&cropStartX=' + coordinates.left +'&cropStartY=' + coordinates.top +'&cropWidth=' + coordinates.width +'&cropHeight=' + coordinates.height;<br> YAHOO.util.Dom.get('downloadLink').innerHTML = '<a href="' + url + '">download cropped image</a>';<br> },<br> <br> getCoordinates: function(){<br> return photoshop.crop.getCropCoords();<br> }<br> };<br> <br> // add listeners<br> YAHOO.util.Event.on('uploadButton', 'click', uploader.carry);<br> </script><br> </head><br> <body class="yui-skin-sam"><br> <div id="doc4" class="yui-t7"><br> <div id="hd"><br> AJAX image cropper - YUI-based<br> </div><br> <br> <div id="bd"><br> <form action="upload.php" enctype="multipart/form-data" method="post" name="uploadForm" id="uploadForm"><br> Image : <input type="file" name="uploadImage" id="uploadImage" /><br> <input type="button" id="uploadButton" value="Upload"/><br> </form><br> <br> <div id="imageContainer"></div><br> <br> <div id="downloadLink"></div><br> </div><br> <br> <div id="ft"><br> <a href="http://htmlblog.net">HTML Blog</a><br> </div><br> </div><br> </body><br> </html><br> 上はindex.php文件です<br> 根据x,y,来用php重新绘图</p> <p><?php<br> // 変数を取得します<br> $imgfile = $_GET['画像'];<br> $cropStartX = $_GET['cropStartX'];<br> $cropStartY = $_GET['cropStartY'];<br> $cropW = $_GET['cropWidth'];<br> $cropH = $_GET['cropHeight'];</p> <p> // 2 つの画像を作成します<br> $origimg = imagecreatefromjpeg($imgfile);<br> $cropimg = imagecreatetruecolor($cropW,$cropH);</p> <p> // 元のサイズを取得します<br> list($width, $height) = getimagesize($imgfile);</p> <p> // クロップ<br> imagecopyresize($cropimg, $origimg, 0, 0, $cropStartX, $cropStartY, $width, $height, $width, $height);</p> <p> // NES イメージを強制的にダウンロードします<br> header("コンテンツタイプ: image/jpeg");<br> header('Content-Disposition:attachment; filename="'.$imgfile.'"');<br> imagejpeg($cropimg);</p> <p> // 画像を破棄します<br> imagedestroy($cropimg);<br> imagedestroy($origimg);<br> ?></p> <p>ここは写真の上にあります、</p> <p><?php<br> <br> if(!empty($_FILES["uploadImage"])) {<br> // ファイル名を取得します<br> $filename = ベース名($_FILES['uploadImage']['name']);<br> <br> // 拡張機能を取得します<br> $ext = substr($filename, strrpos($filename, '.') + 1);<br> <br> // jpg のみをチェックします<br> if ($ext == "jpg") {<br> // 一意のファイル名を生成します<br> $newName = 'images/'.time().'.'.$ext;<br> <br> // ファイルをアップロードします<br> if ((move_uploaded_file($_FILES['uploadImage']['tmp_name'], $newName))) {<br> <br> // アップロードされた画像の高さと幅を取得します<br> list($width, $height) = getimagesize($newName);<br> <br> // jsonデータを返す<br> echo '{"image" : "'.$newName.'", "height" : "'.$height.'", "width" : "'.$width.'" }';<br> }<br> 他に{<br> echo '{"error" : "ファイルの移動中にエラーが発生しました"}';<br> }<br> }<br> それ以外の場合は{<br> echo '{"エラー" : "無効な画像形式"}';<br> }<br> }<br> ?></p> <p align="left"></p> <div style="display:none;"> <span id="url" itemprop="url">http://www.bkjia.com/PHPjc/632002.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/632002.html</span><span id="genre" itemprop="genre">技術記事</span><span id="description" itemprop="description"> php+jquery在線切图代码[防dedecms] !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns=http://www.w...</span> </div> <div class="art_confoot"></div>