簡體   English   中英

imagecopyresampled裁剪

[英]imagecopyresampled Cropping

如果我有一張2048 x 2048的圖片,而我想要一張1488x1488的圖片,請從頂部向下放置450像素,從左邊向下放置280像素

這是正確的代碼x.png是2048 x 2048圖片嗎?

<?php

$imagesrc_location = 'x.png';

// Get new sizes
list($srcwidth, $srcheight) = getimagesize($imagesrc_location);

$imagedst = imagecreatetruecolor(1488, 1488);
$imagesrc = imagecreatefrompng($imagesrc_location);

if (imagecopyresampled($imagedst,$imagesrc,0,0,280,450,1488,1488,2048,2048)) { 
    // Output image
    header('Content-type: image/png');
    imagepng($imagedst);
} else {
    echo "Could not resize file";

}

這是一張顯示我想要的圖片,灰色部分是裁剪的圖片。

在此處輸入圖片說明

編輯:我認為問題是,您的源大小將使imagecopyresampled縮小比例。 這可能適用於農作物:

imagecopyresampled($imagedst,$imagesrc,0,0,280,450,1488,1488,1488,1488)

但是請看這里: http : //www.johnconde.net/blog/cropping-an-image-with-php-and-the-gd-library/我認為您想要的是:

imagecopy($imagedst,$imagesrc,0,0,280,450,1488,1488)

http://us3.php.net/manual/zh/function.imagecopy.php

http://us3.php.net/manual/zh/function.imagecopyresampled.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM