php picture zoom implementation method
- 2021-01-11 01:57:04
- OfStack
php Basic Exercise - Image Zoom:
<?php
/**
* image zoom.
*/
function imageZoom($filename, $w, $h) {
/* Arguments meaning */
/* $filename: the source of the name */
/* $w: you want get the image's width */
/* $h: you want get the imgage's height */
$arr = getimagesize($filename);
$src_w = $arr[0];
$src_h = $arr[1];
$src_t = $arr[2];
/*1 = GIF . 2 = JPG . 3 = PNG . 4 = SWF . 5 = PSD . 6 = BMP . 7 = TIFF(intel byte order) .
= TIFF(motorola byte order) . 9 = JPC . 10 = JP2 . 11 = JPX . 12 = JB2 . 13 = SWC .
= IFF . 15 = WBMP . 16 = XBM*/
$src_m = $arr['mime'];
$src_img = imagecreatefromjpeg($filename);
if (($w / $src_w) >($h / $src_h)) {
$bili = $h / $src_h;
} else {
$bili = $w / $src_h;
}
$dst_w = $src_w * $bili;
$dst_h = $src_h * $bili;
$dst_img = imagecreatetruecolor($dst_w, $dst_h);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);
header("content-type:{$src_m}");
switch ($src_t) {
case 1:
$imgout = "imagegif";
break;
case 2:
$imgout = "imagejpeg";
break;
case 3:
$imgout = "imagepng";
break;
default:
echo "The type was wrong!";
break;
}
$dst_filename = "s_".$filename;
$imgout($dst_img, $dst_filename);
imagedestroy($dst_img);
}
$filename = 'gg.jpg';
imageZoom($filename, 100, 200);
Core: < 1 > Pay attention to how the scaling is achieved, although the resulting image may be a little different than expected, but at least the scaling is guaranteed.
< 2 > Type of control.