用GD库生成高质量的缩略图片_PHP

WBOY
リリース: 2016-06-01 12:34:49
オリジナル
917 人が閲覧しました
PHP代码:
<font color="#000000"><br><br><br><font color="#0000bb"><br><br><br><br>$FILENAME</font><font color="#007700">=</font><font color="#dd0000">"image_name"</font><font color="#007700">;<br><br><br><br></font><font color="#ff8000">// 生成图片的宽度<br><br></font><font color="#0000bb">$RESIZEWIDTH</font><font color="#007700">=</font><font color="#0000bb">400</font><font color="#007700">;<br><br><br><br></font><font color="#ff8000">// 生成图片的高度<br><br></font><font color="#0000bb">$RESIZEHEIGHT</font><font color="#007700">=</font><font color="#0000bb">400</font><font color="#007700">;<br><br><br><br><br><br>function </font><font color="#0000bb">ResizeImage</font><font color="#007700">(</font><font color="#0000bb">$im</font><font color="#007700">,</font><font color="#0000bb">$maxwidth</font><font color="#007700">,</font><font color="#0000bb">$maxheight</font><font color="#007700">,</font><font color="#0000bb">$name</font><font color="#007700">){<br><br>    </font><font color="#0000bb">$width </font><font color="#007700">= </font><font color="#0000bb">imagesx</font><font color="#007700">(</font><font color="#0000bb">$im</font><font color="#007700">);<br><br>    </font><font color="#0000bb">$height </font><font color="#007700">= </font><font color="#0000bb">imagesy</font><font color="#007700">(</font><font color="#0000bb">$im</font><font color="#007700">);<br><br>    if((</font><font color="#0000bb">$maxwidth </font><font color="#007700">&& </font><font color="#0000bb">$width </font><font color="#007700">> </font><font color="#0000bb">$maxwidth</font><font color="#007700">) || (</font><font color="#0000bb">$maxheight </font><font color="#007700">&& </font><font color="#0000bb">$height </font><font color="#007700">> </font><font color="#0000bb">$maxheight</font><font color="#007700">)){<br><br>        if(</font><font color="#0000bb">$maxwidth </font><font color="#007700">&& </font><font color="#0000bb">$width </font><font color="#007700">> </font><font color="#0000bb">$maxwidth</font><font color="#007700">){<br><br>            </font><font color="#0000bb">$widthratio </font><font color="#007700">= </font><font color="#0000bb">$maxwidth</font><font color="#007700">/</font><font color="#0000bb">$width</font><font color="#007700">;<br><br>            </font><font color="#0000bb">$RESIZEWIDTH</font><font color="#007700">=</font><font color="#0000bb">true</font><font color="#007700">;<br><br>        }<br><br>        if(</font><font color="#0000bb">$maxheight </font><font color="#007700">&& </font><font color="#0000bb">$height </font><font color="#007700">> </font><font color="#0000bb">$maxheight</font><font color="#007700">){<br><br>            </font><font color="#0000bb">$heightratio </font><font color="#007700">= </font><font color="#0000bb">$maxheight</font><font color="#007700">/</font><font color="#0000bb">$height</font><font color="#007700">;<br><br>            </font><font color="#0000bb">$RESIZEHEIGHT</font><font color="#007700">=</font><font color="#0000bb">true</font><font color="#007700">;<br><br>        }<br><br>        if(</font><font color="#0000bb">$RESIZEWIDTH </font><font color="#007700">&& </font><font color="#0000bb">$RESIZEHEIGHT</font><font color="#007700">){<br><br>            if(</font><font color="#0000bb">$widthratio </font><font color="#007700"><font color="#0000bb">$heightratio</font><font color="#007700">){<br><br>                </font><font color="#0000bb">$ratio </font><font color="#007700">= </font><font color="#0000bb">$widthratio</font><font color="#007700">;<br><br>            }else{<br><br>                </font><font color="#0000bb">$ratio </font><font color="#007700">= </font><font color="#0000bb">$heightratio</font><font color="#007700">;<br><br>            }<br><br>        }elseif(</font><font color="#0000bb">$RESIZEWIDTH</font><font color="#007700">){<br><br>            </font><font color="#0000bb">$ratio </font><font color="#007700">= </font><font color="#0000bb">$widthratio</font><font color="#007700">;<br><br>        }elseif(</font><font color="#0000bb">$RESIZEHEIGHT</font><font color="#007700">){<br><br>            </font><font color="#0000bb">$ratio </font><font color="#007700">= </font><font color="#0000bb">$heightratio</font><font color="#007700">;<br><br>        }<br><br>        </font><font color="#0000bb">$newwidth </font><font color="#007700">= </font><font color="#0000bb">$width </font><font color="#007700">* </font><font color="#0000bb">$ratio</font><font color="#007700">;<br><br>        </font><font color="#0000bb">$newheight </font><font color="#007700">= </font><font color="#0000bb">$height </font><font color="#007700">* </font><font color="#0000bb">$ratio</font><font color="#007700">;<br><br>        if(</font><font color="#0000bb">function_exists</font><font color="#007700">(</font><font color="#dd0000">"imagecopyresampled"</font><font color="#007700">)){<br><br>              </font><font color="#0000bb">$newim </font><font color="#007700">= </font><font color="#0000bb">imagecreatetruecolor</font><font color="#007700">(</font><font color="#0000bb">$newwidth</font><font color="#007700">, </font><font color="#0000bb">$newheight</font><font color="#007700">);<br><br>              </font><font color="#0000bb">imagecopyresampled</font><font color="#007700">(</font><font color="#0000bb">$newim</font><font color="#007700">, </font><font color="#0000bb">$im</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">$newwidth</font><font color="#007700">, </font><font color="#0000bb">$newheight</font><font color="#007700">, </font><font color="#0000bb">$width</font><font color="#007700">, </font><font color="#0000bb">$height</font><font color="#007700">);<br><br>        }else{<br><br>            </font><font color="#0000bb">$newim </font><font color="#007700">= </font><font color="#0000bb">imagecreate</font><font color="#007700">(</font><font color="#0000bb">$newwidth</font><font color="#007700">, </font><font color="#0000bb">$newheight</font><font color="#007700">);<br><br>              </font><font color="#0000bb">imagecopyresized</font><font color="#007700">(</font><font color="#0000bb">$newim</font><font color="#007700">, </font><font color="#0000bb">$im</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">$newwidth</font><font color="#007700">, </font><font color="#0000bb">$newheight</font><font color="#007700">, </font><font color="#0000bb">$width</font><font color="#007700">, </font><font color="#0000bb">$height</font><font color="#007700">);<br><br>        }<br><br>        </font><font color="#0000bb">ImageJpeg </font><font color="#007700">(</font><font color="#0000bb">$newim</font><font color="#007700">,</font><font color="#0000bb">$name </font><font color="#007700">. </font><font color="#dd0000">".jpg"</font><font color="#007700">);<br><br>        </font><font color="#0000bb">ImageDestroy </font><font color="#007700">(</font><font color="#0000bb">$newim</font><font color="#007700">);<br><br>    }else{<br><br>        </font><font color="#0000bb">ImageJpeg </font><font color="#007700">(</font><font color="#0000bb">$im</font><font color="#007700">,</font><font color="#0000bb">$name </font><font color="#007700">. </font><font color="#dd0000">".jpg"</font><font color="#007700">);<br><br>    }<br><br>}<br><br><br><br><br><br><br><br>if(</font><font color="#0000bb">$_FILES</font><font color="#007700">[</font><font color="#dd0000">'image'</font><font color="#007700">][</font><font color="#dd0000">'size'</font><font color="#007700">]){<br><br>    if(</font><font color="#0000bb">$_FILES</font><font color="#007700">[</font><font color="#dd0000">'image'</font><font color="#007700">][</font><font color="#dd0000">'type'</font><font color="#007700">] == </font><font color="#dd0000">"image/pjpeg"</font><font color="#007700">){<br><br>        </font><font color="#0000bb">$im </font><font color="#007700">= </font><font color="#0000bb">imagecreatefromjpeg</font><font color="#007700">(</font><font color="#0000bb">$_FILES</font><font color="#007700">[</font><font color="#dd0000">'image'</font><font color="#007700">][</font><font color="#dd0000">'tmp_name'</font><font color="#007700">]);<br><br>    }elseif(</font><font color="#0000bb">$_FILES</font><font color="#007700">[</font><font color="#dd0000">'image'</font><font color="#007700">][</font><font color="#dd0000">'type'</font><font color="#007700">] == </font><font color="#dd0000">"image/x-png"</font><font color="#007700">){<br><br>        </font><font color="#0000bb">$im </font><font color="#007700">= </font><font color="#0000bb">imagecreatefrompng</font><font color="#007700">(</font><font color="#0000bb">$_FILES</font><font color="#007700">[</font><font color="#dd0000">'image'</font><font color="#007700">][</font><font color="#dd0000">'tmp_name'</font><font color="#007700">]);<br><br>    }elseif(</font><font color="#0000bb">$_FILES</font><font color="#007700">[</font><font color="#dd0000">'image'</font><font color="#007700">][</font><font color="#dd0000">'type'</font><font color="#007700">] == </font><font color="#dd0000">"image/gif"</font><font color="#007700">){<br><br>        </font><font color="#0000bb">$im </font><font color="#007700">= </font><font color="#0000bb">imagecreatefromgif</font><font color="#007700">(</font><font color="#0000bb">$_FILES</font><font color="#007700">[</font><font color="#dd0000">'image'</font><font color="#007700">][</font><font color="#dd0000">'tmp_name'</font><font color="#007700">]);<br><br>    }<br><br>    if(</font><font color="#0000bb">$im</font><font color="#007700">){<br><br>        if(</font><font color="#0000bb">file_exists</font><font color="#007700">(</font><font color="#dd0000">"$FILENAME.jpg"</font><font color="#007700">)){<br><br>            </font><font color="#0000bb">unlink</font><font color="#007700">(</font><font color="#dd0000">"$FILENAME.jpg"</font><font color="#007700">);<br><br>        }<br><br>        </font><font color="#0000bb">ResizeImage</font><font color="#007700">(</font><font color="#0000bb">$im</font><font color="#007700">,</font><font color="#0000bb">$RESIZEWIDTH</font><font color="#007700">,</font><font color="#0000bb">$RESIZEHEIGHT</font><font color="#007700">,</font><font color="#0000bb">$FILENAME</font><font color="#007700">);<br><br>        </font><font color="#0000bb">ImageDestroy </font><font color="#007700">(</font><font color="#0000bb">$im</font><font color="#007700">);<br><br>    }<br><br>}<br><br><br><br></font><font color="#0000bb">?><br><br></font><br><br><img src="<font%20color=" alt="用GD库生成高质量的缩略图片_PHP" > </font><font color="#007700">echo(</font><font color="#0000bb">$FILENAME</font><font color="#007700">.</font><font color="#dd0000">".jpg?reload="</font><font color="#007700">.</font><font color="#0000bb">rand</font><font color="#007700">(</font><font color="#0000bb">0</font><font color="#007700">,</font><font color="#0000bb">999999</font><font color="#007700">)); </font><font color="#0000bb">?></font>"><br><br><br><br><br><br><form enctype="multipart/form-data" method="post"> <br><br><br><br><br><input type="file" name="image" size="50" value="浏览"><p><br><br><input type="submit" value="上传图片"><br><br></p> </form> <br><br><br><br></font>
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート