ホームページ  >  記事  >  バックエンド開発  >  thinkphp アバター アップロードのオンラインでのカットと編集に関連する問題 (Meitu Xiu Xiu アバター エディター コンポーネントを使用)

thinkphp アバター アップロードのオンラインでのカットと編集に関連する問題 (Meitu Xiu Xiu アバター エディター コンポーネントを使用)

WBOY
WBOYオリジナル
2016-06-13 12:21:001357ブラウズ

Thinkphp アバターのアップロード オンラインでのカットと編集の問題 (Meitu Xiu Xiu アバター エディター コンポーネントを使用)
tp3.1 を使用しており、Meitu Xiu Xiu のオープン アバター編集コンポーネントを使用してアバターを編集したいのですが、使い方がわかりませんthinkPHP でアバターをアップロードするためのインターフェイスを作成する方法と、それを作成する場所は?
以下は Meitu Xiuxiu の開き方の例です (http://open.web.meitu.com/products/#M4)



1a88e4d9c06dde59a9bf2c8329dc1294
100db36a723c770d327fc0aef2ce13b1
93f0f5c25f18dab9d176bd4f6de5d30e
b2386ffb911b14667cb8f0f91ea547a7Meitu WEB オープン プラットフォーム6e916e0f7d1e588d4f442bf645aedb2f
9c0c15d7f3bc220895adf78d998e90ad
637e83ed35afe95172dc515c9433555b 2cacc6d41bbb37262a98f745aa00fbf0
4ec11beb6c39d0703d1751d203c17053
window.onload=function(){
/*最初のパラメータは、エディタの div コンテナをロードすることです。 2 番目のパラメータ パラメータはエディタのタイプ、3 番目のパラメータは div コンテナの幅、4 番目のパラメータは div コンテナの高さです*/
xiuxiu.embedSWF("altContent",5,"100%" ,"100%");
// 独自の画像アップロード インターフェイスに変更します
xiuxiu.setUploadURL("http://web.upload.meitu.com/image_upload.php") > xiuxiu.setUploadDataFieldName( "upload_file");
xiuxiu.onInit = function ()
{
xiuxiu.loadPhoto("http://open.web.meitu.com/sources/images/1. jpg");
}
xiuxiu.onUploadResponse = function (data)
{
//alert("アップロード応答" データ); デバッグを有効にすることができます
}
}
fa53fefa8eafc7c836ea46f2cc284f0d
080b747a20f9163200dd0a7d304ba388
html, body { height:100%; }
body { margin:0;スタイル>
9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
7bd27656a1c92eaceecc35116cd64793
4a249f0d628e2318394fd9b75b4636b1Meituxiuxiu473f0a7621bec819994bb5020d29372a
16b28748ea4df4d9c2150843fecfba68
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

-----ソリューションのアイデア------------ -------- --

jquery.Jcrop プラグイン

------ソリューションのアイデア---------- ------ ------

/**<br />	 * 裁剪图片<br />	 * @return [type] [description]<br />	 */<br />	public function cutpic(){<br />		if(IS_POST){			<br />			$targ_w = $_POST['w'];<br />			$targ_h = $_POST['h'];	<br />			$pos_x = $_POST['x'];<br />			$pos_y = $_POST['y'];				<br />			$pos_sw = $_POST['sw'];	//选区宽			<br />			$jpeg_quality = 90;<br />			$id = init_base64_decode($this->_post('imgid'));<br />			if(!$id) exit;<br />			$src = M('weipai_images')->where(array('id'=>$id))->getField('PicUrl');<br />			$sf =ltrim($src,'http://'.$_SERVER['HTTP_HOST'].__ROOT__.'/');	<br />			$o_size = getimagesize($sf);<br />			$pct = ($o_size[0]>$o_size[1]?$o_size[1]:$o_size[0])/$pos_sw;<br />			if($pct!=1){<br />				$targ_w*=$pct;<br />				$targ_h*=$pct;<br />				$pos_x*=$pct;<br />				$pos_y*=$pct;<br />			}<br />			<br /><br />			$img_r = imagecreatefromjpeg($src);<br />			$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );<br />			imagecopyresampled($dst_r,$img_r,0,0,$pos_x,$pos_y,<br />			$targ_w,$targ_h,$targ_w,$targ_h);<br />			header('Content-type: image/jpeg');<br />			imagejpeg($dst_r,$sf,$jpeg_quality);<br />			// 释放内存<br />			imagedestroy($dst_r);				<br />			redirect(U('Index/cutpicok',array('id'=>$id)));	<br />			<br />		}else{<br />			$id = $this->_get('id');<br />			if(!$id) exit;			<br />			$data = M('weipai_images')->where(array('id'=>$id))->find();					<br />			if(preg_match("/Public\/Uploads\/medias/",$data['PicUrl'])==false){<br />				$sf = saveMedia($data['PicUrl']);<br />				$sf = 'http://'.$_SERVER['HTTP_HOST'].__ROOT__.'/'.ltrim($sf,'./');	<br />				M('weipai_images')->where(array('id'=>$id))->save(array('PicUrl'=>$sf));<br />				$data['PicUrl'] = $sf;				<br />			}<br />			$this->assign('data',$data);<br />			$this->display();<br />			<br />		}<br />	}

新しいテンプレートを作成します: face.html テンプレート内の構成: xiuxiu.setUploadURL("アップロードされた画像を処理するためのメソッド パス"); xiuxiu .setUploadDataFieldName("値を受け取るために使用されるアップロード要素の名前")

------解決策のアイデア---------- -

引用:

一度もやったことがない。可能であれば、共有してください。
私が行った例をダウンロードしてください。
http://download.csdn.net/detail/h472591847/7980115

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:php ノート 3次の記事:php ノート 3