[英]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.