First use an INI file to set the size to scale, where the width or height of 0 for the picture zoom in or out, all 0 or the original size, are not 0 are stretched to the specified size.
Note: The INI file is interpreted as a comment file using PHP, and nothing is exported, for security reasons. and; is a comment for the INI file.
I set the INI file example as follows:
Copy Code code as follows:
<?php
/*
; Translate the image format using the original image size
[Translation]
Width=0
Height=0
; Stretch the image to the specified size
[Stretch]
width=800
height=600
; Zoom the image to the specified Width with height auto size
[Autoheight]
width=740
Height=0
; Zoom the image to the specified Height with width auto size
[Autowidth]
Width=0
height=380
*/
?>
Here is the PHP code for the scaled picture, where the variable classes is an array that you can select from any number of INI files that you specify:
Copy Code code as follows:
<?php
$oimg = "Test.jpg";//original image Name
$classes = Array (' translation ', ' autoheight ', ' autowidth ', ' Stretch ');//give classes for the new creating ' size which are defined in the specified INI file
$suffix = ' jpg ';//the new image ' s suffix
$inifile = ' image.ini.php ';
$size = getimagesize ($oimg);
$x = $size [0]/$size [1];
$name = Explode ('. ', $oimg);
if (!file_exists ($inifile)) Die (' Ini file does not exist! ');
$CN = Parse_ini_file ($inifile, true);//parse the class style image size from INI file
foreach ($classes as $class) {
foreach ($cn as $k => $v) {
if ($k = = $class) {
if ($v [' width '] && $v [' height ']) {
$thumbWidth = $v [' width '];
$thumbHeight = $v [' height '];
}elseif ($v [' width ']) {
$thumbWidth = $v [' width '];
$thumbHeight = Round ($thumbWidth/$x);
}elseif ($v [' height ']) {
$thumbHeight = $v [' height '];
$thumbWidth = Round ($thumbHeight * $x);
}else{
$thumbWidth = $size [0];
$thumbHeight = $size [1];
}
Break
}
}
if (!isset ($thumbHeight) &&!isset ($thumbWidth)) Die (' Ini file Settings error! ');
$nimg = $name [0]. ' _ '. $class. '. $suffix;//new image file name
$source = Imagecreatefromjpeg ($oimg);
$thumb = Imagecreatetruecolor ($thumbWidth, $thumbHeight);
Imagecopyresampled ($thumb, $source, 0,0,0,0, $thumbWidth, $thumbHeight, $size [0], $size [1]);
if ($suffix = = ' jpg ') $method = ' imagejpeg ';
else $method = ' image '. $suffix;
$method ($thumb, $nimg);
Imagedestroy ($THUMB);//release the image source
Imagedestroy ($source);
}
?>