首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gmagick几何体

gmagick几何体
EN

Stack Overflow用户
提问于 2012-06-14 02:50:56
回答 1查看 237关注 0票数 0

我遇到了以下问题:

代码语言:javascript
复制
// $data contains some image data

$gm = new gmagick;
$gm->readImageBlob($data);
$gm->resizeImage(
    100,
    50,
    gmagick::FILTER_LANCZOS,
    1
);

$gm->readImageBlob($data);
$gm->resizeImage(
    140,
    70,
    gmagick::FILTER_LANCZOS,
    1
);
$output = $gm->getImageBlob();

print_r($gm->getImageGeometry());

将打印

代码语言:javascript
复制
Array ( [width] => 100 [height] => 50 )

这是一个出乎意料的结果。如果我用imagick而不是gmagick执行完全相同的代码,我会得到不同的(预期的)结果

代码语言:javascript
复制
Array ( [width] => 140 [height] => 70 )

另外,有趣的是,对于这个花招,如果我省略这一行

代码语言:javascript
复制
$output = $gm->getImageBlob(); 

然后我得到了预期的图像大小140x70。

我是不是遗漏了什么重要的东西?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-14 03:20:17

imagick和gmagick版本中的getimageblob方法有一个区别。第二个重置内部计数器,因此您将始终具有第一个添加的图像的尺寸,而不是最后一个。

gmagick's version of getimageblob

imagick's version of getimageblob

看起来像是一个错误,因为在重置计数器之前对图像缓冲区执行了检查。请注意,在php net的gmagick部分中没有记录此函数,因此它可能不受支持,也未得到维护。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11021440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档