Php generates a thumbnail class and supports custom height and width. It also supports high and wide. The php Tutorial generates a thumbnail class that supports custom height and width. Also supports by height and width? Phpclassresizeimage {image type var $ type; actual width var $ width; actual height. the thumbnail class is generated in the va php Tutorial. Custom height and width are supported. It also supports high and wide
Class resizeimage
{
// Image type
Var $ type;
// Actual width
Var $ width;
// Actual height
Var $ height;
// Change the width
Var $ resize_width;
// The height after the change
Var $ resize_height;
// Whether to cut the image
Var $ cut;
// Source image
Var $ srcimg;
// Target Image address
Var $ dstimg;
// Temporarily created image
Var $ im;
Function resizeimage ($ img, $ wid, $ hei, $ c, $ dstpath)
{
$ This-> srcimg = $ img;
$ This-> resize_width = $ wid;
$ This-> resize_height = $ hei;
$ This-> cut = $ c;
// Image type
$ This-> type = strtolower (substr (strrchr ($ this-> srcimg, "."), 1 ));
// Initialize the image
$ This-> initi_img ();
// Target Image address
$ This-> dst_img ($ dstpath );
//--
$ This-> width = imagesx ($ this-> im );
$ This-> height = imagesy ($ this-> im );
// Generate an image
$ This-> newimg ();
ImageDestroy ($ this-> im );
}
Function newimg ()
{
// Ratio of the changed image
$ Resize_ratio = ($ this-> resize_width)/($ this-> resize_height );
// Ratio of the actual image
$ Ratio = ($ this-> width)/($ this-> height );
If ($ this-> cut) = "1 ")
// Cut the image
{
If ($ ratio> = $ resize_ratio)
// High priority
{
$ Newimg = imagecreatetruecolor ($ this-> resize_width, $ this-> resize_height );
Imagecopyresampled ($ newimg, $ this-> im, 0, 0, 0, 0, $ this-> resize_width, $ this-> resize_height, ($ this-> height) * $ resize_ratio), $ this-> height );
ImageJpeg ($ newimg, $ this-> dstimg );
}
If ($ ratio <$ resize_ratio)
// The width is preferred.
{
$ Newimg = imagecreatetruecolor ($ this-> resize_width, $ this-> resize_height );
Imagecopyresampled ($ newimg, $ this-> im, 0, 0, 0, 0, $ this-> resize_width, $ this-> resize_height, $ this-> width, ($ this-> width)/$ resize_ratio ));
ImageJpeg ($ newimg, $ this-> dstimg );
}
}
Else
// No cut Chart
{
If ($ ratio> = $ resize_ratio)
{
$ Newimg = imagecreatetruecolor ($ this-> resize_width, ($ this-> resize_width)/$ ratio );
Imagecopyresampled ($ newimg, $ this-> im, 0, 0, 0, 0, $ this-> resize_width, ($ this-> resize_width)/$ ratio, $ this-> width, $ this-> height );
ImageJpeg ($ newimg, $ this-> dstimg );
}
If ($ ratio <$ resize_ratio)
{
$ Newimg = imagecreatetruecolor ($ this-> resize_height) * $ ratio, $ this-> resize_height );
Imagecopyresampled ($ newimg, $ this-> im, 0, 0, 0, 0, ($ this-> resize_height) * $ ratio, $ this-> resize_height, $ this-> width, $ this-> height );
ImageJpeg ($ newimg, $ this-> dstimg );
}
}
}
// Initialize the image
Function initi_img ()
{
If ($ this-> type = "jpg ")
{
$ This-> im = imagecreatefromjpeg ($ this-> srcimg );
}
If ($ this-> type = "gif ")
{
$ This-> im = imagecreatefromgif ($ this-> srcimg );
}
If ($ this-> type = "png ")
{
$ This-> im = imagecreatefrompng ($ this-> srcimg );
}
}
// Target Image address
Function dst_img ($ dstpath)
{
$ Full_length = strlen ($ this-> srcimg );
$ Type_length = strlen ($ this-> type );
$ Name_length = $ full_length-$ type_length;
$ Name = substr ($ this-> srcimg, 0, $ name_length-1 );
$ This-> dstimg = $ dstpath;
// Echo $ this-> dstimg;
}
}
$ Resizeimage = new resizeimage ("11.jpg"," 200 "," 150 "," 1 "," 17.jpg ");
Bytes. Also supports by height and width? Php class resizeimage {// image type var $ type; // actual width var $ width; // actual height va...