ホームページ  >  記事  >  バックエンド開発  >  PHPでサムネイルを生成する機能を探している、解決方法

PHPでサムネイルを生成する機能を探している、解決方法

WBOY
WBOYオリジナル
2016-06-13 13:34:30709ブラウズ

PHPでサムネイルを生成する機能を探しています
PHPでサムネイルを生成する機能を探しています!

インターネットからコードを見つけましたが、生成されたサムネイルの色が歪んでいます。

-----解決策---------
31.$image1=$info [ 'ファイル名'].'120_120'.'.' .$info['拡張子'];//サムネイル名
32.$image2=$info['ファイル名'].'300_300'.'.' info['extension'];//サムネイル名
33.list($imagw,$imagh)=getimagesize($file ['tmp_name']);//元の画像の幅と高さを取得します(さらに$ file ['tmp_name'] は単なる一時ファイルのパスであり、エラーが報告される場合があります。エラーが報告された場合は、一時ファイルのパスをアップロードした元の画像のパスに変更してください)
34./ /120 画像判定各種 サムネイルの幅と高さを取得する
35.if($imagw36.$m120w=$imagw;
37.$ m120h=$imagh;
38.}elseif($imagw>$imagh)
39.{
40.$m120w=120;
41.$m120h=intval($m120w/number_format( $imagw/$imagh, 2));//サムネイルの幅は、(元の画像の幅を元の画像の高さで割ったもの) で除算されます。number_format チェックマニュアル
42.}
43. else
44.{
45. $m120h=300;
46.$m120w=intval($m120h/number_format( $imagh/$imagw,2));// サムネイルの高さは元の画像の高さで割った値を元の画像の幅で割った値)number_format チェックマニュアル
47.}
48.//300 画像はサムネイルの幅と高さを取得するためにさまざまな状況を決定します
49.if($imagw50.$m300w=$imagw;
51.$m300h=$imagh;
52.}elseif($imagw>$ imagh){
53.$m300w=300;
54. $m300h=intval($m300w/number_format( $imagw/$imagh,2));// サムネイルの幅を (元の画像の幅を元の画像の高さで割った値)number_format マニュアルを確認してください。
55.}else {
56.$m300h=300;
57.$m300w=intval($m300h/number_format) ( $imagh/$imagw,2));//サムネイルの高さを元の画像の高さで割ります。元の画像の幅を使用します) マニュアルを確認するには、number_format
58.}
59 .if($info['extension']=='jpg'){
60.$info['extension']=' jpeg' // 画像の種類を決定し、JPG の場合は JPEG に変換します。画像処理関数は JPG を処理するときに JPG ではなく JPEG を使用するためです。
61.}
62.$iml= 'imagecreatefrom'.$info['extension'];
63.//次のさまざまな関数を取得しますさまざまな画像形式
64.$yuan=$iml($file['tmp_name']);
65 .//以前に取得されたさまざまな関数に従って取得された元の画像の識別
66.$ mu1=imagecreatetruecolor($m120w,$m120h);
67.//生成されるサムネイルの識別
68.$mu2=imagecreatetruecolor($m300w,$m300h);
69.//生成するサムネイルの識別子を取得します
70.$c='image'.$info['extension' ];
71.//出力サムネイルを生成する関数を個別に記述することはできません。そうでない場合はエラーが発生します報告されます
72.imagecopyresampled($mu1,$yuan,0,0,0, 0,$m120w,$m120h,$ imaw,$imagh);//サムネイルを生成します 120
73.$res= $c($mu1,$xin.'/'.$image1);
74.//ストレージサムネイル
75.if(!$res){
76.alert('120 の生成に失敗しましたサムネイル');
77.exit;
78.}
79.imagecopyresampled($mu2,$yuan,0,0 ,0,0,$m300w,$m300h,$imagw,$imagh) ;
80.//PHP はサムネイルを生成してサムネイルを生成します 120
81.$res=$c($mu2 ,$xin.'/'.$image2);
82.//サムネイルの保存
83.if($res){
84.alert('300 個のサムネイルを正常に生成しています');
コードの一部のみがここにリストされています。具体的な参照先: http://www.phpnewer.com/ Index.php/Ymgx/detail/id/38
------解決策------
これを試してください
1.2./*バックエンドログインインターフェース
3.*Huang Chunlong が文章を書くことを学ぶ
4.*最初の執筆時間: 2009-10-27
5.*更新時間: 2009/11/24
6.*/
7.require_once '../xmphp/init.php';
8.//完全なサイト構成ファイル
9.require_once XMPHP_COMMON.'/smarty.php';
10.//スマート関数
11.require_once XMPHP_COMMON.'/mysql.php';
12.//mysql 関数
13.require_once 14.//よく使われる関数
15. if(isset($_GET['act'])&&$_GET['act'] =='アップロード'){
16.$file=$_FILES[' file'];
17.$info =pathinfo($file['name']);
18.$a=array('jpg','gif','png');
19 .if(!in_array($info['extension) '],$a)){
20.alert("アップロードする画像を jpg、gif、または png 形式で選択してください");
21.exit
22.}
23. if($file['name'] !=''){
24.$dirname=date('Ym');
25.$dirname='./upload/'.$dirname;
26.//元の画像パス
27.$xin=$dirname.'/s';//PHP がサムネイル パスを生成します
28.if(! file_exists($xin)){
29 .@mkdir($xin);
30.}
31.$image1=$info['ファイル名'].'120_120'.'.' .$ info['拡張子'];//サムネイル名
32.$image2=$info['filename'].'300_300'.'.' .$info['extension'];//サムネイル名
33.list($imagw,$imagh)= getimagesize($file ['tmp_name']);//元の画像の幅と高さを取得します (さらに、$file ['tmp_name'] は単なる一時的なファイル パスであるため、エラーが報告される場合があります。報告する場合)エラーです。一時ファイルのパスをアップロードした元の画像のパスに変更してください)
34.//画像 120 は、さまざまな状況を判断してサムネイルの幅と高さを取得します。
35.if( $imagw36.$m120w=$imagw; 37.$m120h=$imagh;
38.}elseif($imagw>$imagh)
39. {
40.$m120w=120;
41.$m120h=intval($m120w/number_format( $imagw/$imagh,2));// サムネイルの幅を (元の画像幅は元の画像の高さで割られます)number_format マニュアルを確認してください
42.}
43.else
44.{
45.$m120h=300;
46.$m120w=intval($m120h/number_format( $imagh/$imagw,2)); //サムネイルの高さを(元画像の高さ割った元画像の幅)で割ります。number_formatチェックマニュアル

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