PHP uses the GD library to generate high-quality thumbnails. Generally, the thumbnails generated by PHP are not ideal. Today, I tried PHP and the GD library to generate thumbnails. Although not 100% perfect. However, it should also be able to meet the requirements of thumbnails.
PHP uses the GD library to generate high-quality thumbnails. Generally, the thumbnails generated by PHP are not ideal. Today, I tried PHP and the GD library to generate thumbnails. Although not 100% perfect. However, it should also be able to meet the requirements of thumbnails.
The following is the PHP source code (ResizeImage. php ).
The Code is as follows:
$ FILENAME = "image. thumb ";
// Generate the Image Width
$ RESIZEWIDTH = 400;
// Generate the Image Height
$ RESIZEHEIGHT = 400;
Function ResizeImage ($ im, $ maxwidth, $ maxheight, $ name ){
$ Width = imagesx ($ im );
$ Height = imagesy ($ im );
If ($ maxwidth & $ width> $ maxwidth) | ($ maxheight & $ height> $ maxheight )){
If ($ maxwidth & $ width> $ maxwidth ){
$ Widthratio = $ maxwidth/$ width;
$ RESIZEWIDTH = true;
}
If ($ maxheight & $ height> $ maxheight ){
$ Heightratio = $ maxheight/$ height;
$ RESIZEHEIGHT = true;
}
If ($ RESIZEWIDTH & $ RESIZEHEIGHT ){
If ($ widthratio <$ heightratio ){
$ Ratio = $ widthratio;
} Else {
$ Ratio = $ heightratio;
}
} Elseif ($ RESIZEWIDTH ){
$ Ratio = $ widthratio;
} Elseif ($ RESIZEHEIGHT ){
$ Ratio = $ heightratio;
}
$ Newwidth = $ width * $ ratio;
$ Newheight = $ height * $ ratio;
If (function_exists ("imagecopyresampled ")){
$ Newim = imagecreatetruecolor ($ newwidth, $ newheight );
Imagecopyresampled ($ newim, $ im, 0, 0, 0, 0, $ newwidth, $ newheight, $ width, $ height );
} Else {
$ Newim = imagecreate ($ newwidth, $ newheight );
Imagecopyresized ($ newim, $ im, 0, 0, 0, 0, $ newwidth, $ newheight, $ width, $ height );
}
ImageJpeg ($ newim, $ name. ". jpg ");
ImageDestroy ($ newim );
} Else {
ImageJpeg ($ im, $ name. ". jpg ");
}
}
If ($ _ FILES ['image'] ['SIZE']) {
If ($ _ FILES ['image'] ['type'] = "image/pjpeg "){
$ Im = imagecreatefromjpeg ($ _ FILES ['image'] ['tmp _ name']);
} Elseif ($ _ FILES ['image'] ['type'] = "image/x-png "){
$ Im = imagecreatefrompng ($ _ FILES ['image'] ['tmp _ name']);
} Elseif ($ _ FILES ['image'] ['type'] = "image/gif "){
$ Im = imagecreatefromgif ($ _ FILES ['image'] ['tmp _ name']);
}
If ($ im ){
If (file_exists ("Your filename.jpg ")){
Unlink ("Your filename.jpg ");
}
ResizeImage ($ im, $ RESIZEWIDTH, $ RESIZEHEIGHT, $ FILENAME );
ImageDestroy ($ im );
}
}
?>
The following is the test code (demo. php)
The Code is as follows:
Include ('resizeimage. php ');
If (! Empty ($ _ POST )){
Echo ($ FILENAME. ". jpg? Cache = ". rand (999999 ));
}
?>