我正在尝试使用php在我的wordpress插件中调整图像大小,但它们不起作用。如何使用php将图像调整为propotion?
任何人都知道这是否可能?
谢谢
答案 0 :(得分:1)
您可以使用wordpress内置调整大小功能:
<?php image_resize( $file, $max_w, $max_h, $crop, $suffix, $dest_path, $jpeg_quality ); ?>
您可以在此处找到更多详细信息:http://codex.wordpress.org/Function_Reference/image_resize
答案 1 :(得分:0)
此函数将imagePath作为参数以及您希望它调整图像大小的大小。这将调整具有比例约束的图像
假设尺寸= 300 那么会有三种情景
1)如果图像的高度大于宽度,则其高度将为300
2)如果宽度大于其宽度将为300
3)如果图像的比例为1:1,则其高度和宽度均为300
function resizeImage($imagePath,$size)
{
$sizeData = getimagesize($imagePath);
$width = $sizeData[0];
$height = $sizeData[1];
# Loading image to memory according to type
switch ( $sizeData[2] ) {
case IMAGETYPE_GIF: $src = imagecreatefromgif($imagePath); break;
case IMAGETYPE_JPEG: $src = imagecreatefromjpeg($imagePath); break;
case IMAGETYPE_PNG: $src = imagecreatefrompng($imagePath); break;
default: return false;
}
if(!$src)
{
return false;
}
if($height >= $width)
{
$newheight = $size;
$newwidth = ($newheight*$width)/$height;
}
else
{
$newwidth = $size;
$newheight = ($height/$width)*$newwidth;
}
$tmp = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
# Writing image according to type to the output destination
switch ( $sizeData[2] ) {
case IMAGETYPE_GIF: imagegif($tmp, $imagePath); break;
case IMAGETYPE_JPEG: imagejpeg($tmp, $imagePath, 100); break;
case IMAGETYPE_PNG: imagepng($tmp, $imagePath, 9); break;
default: return false;
}
imagedestroy($src);
imagedestroy($tmp);
return true;
}