簡體   English   中英

為什么Imagick的縮略圖失敗?

[英]Why does Imagick fail with my thumbnail?

我嘗試用Imagick制作縮略圖。 為了使問題更簡單,我有以下測試代碼:

//loading picture
$image = new Imagick('/home/ytg/temp/blank.png');
//checking image size
echo "width: {$image->getimagewidth()}\n";
echo "height: {$image->getimageheight()}\n";
//creating thumbnail
$image->thumbnailImage(220, 220, true);
//checking image size
echo "new width: {$image->getimagewidth()}\n";
echo "new height: {$image->getimageheight()}\n";

這給了我以下結果:

width: 300
height: 300
new width: 219
new height: 220

為什么將縮略圖寬度縮小一個像素? 如何防止這種情況發生? 我不想使用thumbnailImage()的最后一個$fill參數,因為輸入圖像並不總是具有相同的寬度和高度,並且我不希望在這種情況下填充圖像。

PHP Version => 5.4.6-1ubuntu1.1; imagick module version => 3.1.0RC1

現在,我正在解決以下問題:

$image = new Imagick('/home/ytg/temp/blank.png');
//checking image size
echo "width: {$image->getimagewidth()}\n";
echo "height: {$image->getimageheight()}\n";
//creating thumbnail
$image->thumbnailImage(220, 220, true);
//checking image size
echo "new width: {$image->getimagewidth()}\n";
echo "new height: {$image->getimageheight()}\n";        
$image->thumbnailImage($width, $height, true);                                                
if (($width == $height) && ($image->getImageWidth() != $image->getImageHeight())) {
    $image->thumbnailImage($width, $height, true, true);            
}

但這並不是完美的,因為它僅適用於方形圖像的特定情況。 但是在那種特殊情況下,它解決了我的問題。

暫無
暫無

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

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