0

PHP を使用して wordpress プラグインで画像のサイズを変更しようとしていますが、うまくいきません。PHPを使用してプロポーション的に画像のサイズを変更するにはどうすればよいですか?

それが可能かどうか誰か知っていますか?

ありがとう

4

2 に答える 2

1

wordpressの組み込みのサイズ変更機能を使用できます:

<?php image_resize( $file, $max_w, $max_h, $crop, $suffix, $dest_path, $jpeg_quality ); ?>

詳細については、http: //codex.wordpress.org/Function_Reference/image_resizeをご覧ください。

于 2012-05-26T14:39:55.637 に答える
0

この関数は、imagePathをパラメーターとして受け取り、画像のサイズを変更するサイズを指定します。これにより、比率の制約付きで画像のサイズが変更されます。

サイズ=300とすると、3つのシナリオがあります

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;
}
于 2012-05-26T09:55:28.160 に答える