重要的是要理解布尔标志:$FIT 用作 X 或 Y 的最大边界
如果您使用大小为 128x256 的物理图像
scaleImage(200, 100, true); 将 Y 缩放至 100,X 将被计算
scaleImage(100, 120, true); 将 X 缩放至 100,Y 将被计算
$FIT 是一个限制器,这就是为什么它需要 X 和 Y 来设置 $FIT=true 的原因
(PECL gmagick >= 未知)
Gmagick::scaleimage — 缩放图像大小
将图像大小缩放至给定尺寸。如果参数为0,则会计算另一个参数。
width
缩放图像的列数。
height
缩放图像的行数。
Gmagick 对象。
错误时抛出 GmagickException 异常。
重要的是要理解布尔标志:$FIT 用作 X 或 Y 的最大边界
如果您使用大小为 128x256 的物理图像
scaleImage(200, 100, true); 将 Y 缩放至 100,X 将被计算
scaleImage(100, 120, true); 将 X 缩放至 100,Y 将被计算
$FIT 是一个限制器,这就是为什么它需要 X 和 Y 来设置 $FIT=true 的原因
更正
替换
echo 'img src="data:image/jpeg:base64,'.base64_encode($image).'">';
为
echo '<img src="data:image/jpeg:base64,'.base64_encode($image).'">';
一种简单的方法,可以从文件中加载图像,调整大小并在不写入磁盘的情况下显示。
在 jpg、gif 和 bmp 上测试过
<?php
$image= new Gmagick( "yourimage.jpg");
$image->scaleimage(300,0);
echo 'img src="data:image/jpeg:base64,'.base64_encode($image).'">';
$image->destroy();
?>