- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在Imagick中找到了两种设置图片压缩质量的方法
一)设置图像压缩质量
B)设置压缩质量
所以我想知道哪个最好,为什么在下面的情况下
我读到setCompressionQuality
方法仅适用于新图像 (?)
我正在尝试压缩 jpeg/png 文件
$im = new Imagick();
$im->readImage($file); // path/to/file
$im->setImageCompressionQuality($quality); // 90,80,70 e.g.
$im->writeImage($file);
最佳答案
setImageCompressionQuality
方法设置当前图像的压缩质量。此方法是 MagickWand
的 MagickSetImageCompressionQuality
函数的包装器。 Source code是:
WandExport MagickBooleanType MagickSetImageCompressionQuality(MagickWand *wand,
const size_t quality)
{
assert(wand != (MagickWand *) NULL);
assert(wand->signature == MagickWandSignature);
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
//This line sets the quality for the instance 'images'
wand->images->quality=quality;
return(MagickTrue);
}
setCompressionQuality
方法设置整个对象的压缩质量。此方法是 MagickWand
的 MagickSetCompressionQuality
函数的包装器。 Source code是:
WandExport MagickBooleanType MagickSetCompressionQuality(MagickWand *wand,
const size_t quality)
{
assert(wand != (MagickWand *) NULL);
assert(wand->signature == MagickWandSignature);
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
//This line sets quality for the image_info struct instance.
wand->image_info->quality=quality;
return(MagickTrue);
}
MagickWand
结构包含 Image
和 ImageInfo
结构的实例,source :
struct _MagickWand
{
...
Image
*images; /* The images in this wand - also the current image */
ImageInfo
*image_info; /* Global settings used for images in Wand */
...
};
两者都是Image
and ImageInfo
结构包含一个 size_t quality;
数据成员。因此,对于您的示例,setImageCompressionQuality
非常好。
关于php - setImageCompressionQuality 与 setCompressionQuality 之间有什么区别 - Imagick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46441364/
我想把一张图片转成只有黑白两种颜色的GIF格式 因此输出图像中的每个像素都将是黑色或白色 有人知道在 imagick 中进行转换的方法吗? 最佳答案 虽然写出双色 gif 的最终转换是相同的,但将图像
我在 Imagick 中设置图像的重力时遇到了一些真正的困难。 我已经成功地设置了 ImaickDraw 对象的引力,但是我没有成功地在 Imagick 对象中设置它。 下面是我当时正在使用的基本代码
resizeImage 和 scaleImage 有什么区别? 如果图像的大小大于 $myLimit,我需要调整图像的大小 示例(伪代码): $myLimit = 1MB user uplaod an
我在为 laravel 安装 devisephp 时遇到了问题。我正在使用 php7 开发最新版本的宅基地。当我进行 Composer 更新时,出现以下错误。 Problem 1 - Inst
我正在使用以下代码在另一个图像上屏蔽一个图像。在输出时,它给了我一个黑色背景的图像。 但我需要白色背景或透明背景。 以下是我用来将一个图像屏蔽在另一个图像上的代码。 resizeImage(274,
我想在具有特定宽度、高度和顶部位置的 Imagick 对象中使一个区域透明。 例如,我需要一个从第 15 像素到顶部的 30px x 30px 的透明区域,但我找不到实现它的方法。 $canvas1
我需要能够在图像内自动写入一些文本。根据图像亮度,脚本必须用白色或黑色书写。 那么如何使用 Imagick 检查图像的亮度/暗度? 最佳答案 你可以这样做: // Load the image $im
我刚刚开始使用 PHP 的 Imageick 库。 我首先裁剪用户图像,如下所示: $img_path = 'image.jpg'; $img = new Imagick($img_path); $i
我需要能够在图像内自动写入一些文本。根据图像亮度,脚本必须用白色或黑色书写。 那么如何使用 Imagick 检查图像的亮度/暗度? 最佳答案 你可以这样做: // Load the image $im
我对 iMagick 还很陌生,只找到了非常有限的 PHP 库文档。我很乐意调整图像大小并将它们写回硬盘驱动器,但我完全无法使用 JPG 等方式压缩图像。 这是我目前使用的代码: function s
我正在用js操作图像,我想保存这些转换后的图像。我正在使用 ajax 发布此数据: image : canvas.toDataURL('image/jpeg') 通过这种方式,我获得了图像的 base
简单调用 Imagick 类时: $image = new Imagick('/images/magick/atmsk.png'); 我收到错误信息: Fatal error: Uncaught ex
如何有效地压缩 PNG?就我而言,图像是具有透明度的小灰度图像。 目前我正在玩这个: // ... $im->setImageFormat('png'); $im->setImageColorspac
我正在尝试使用 Imagick 编辑图像,但出现如下异常: ImagickException: UnableToLoadModule `C:\xampp\apache\bin\IM_MOD_RL_J
我使用下面的代码来创建宝丽来效果,但它真的很分散注意力,周围没有任何透明效果。 polaroidImage(new ImagickDraw(), 25); /* output the image */
我必须在 PHP CLI 上用 Imagick 渲染一些东西。我注意到服务器内存每隔 3-5 天就会变满,所以我什至无法通过 ssh 或 ftp 连接。 我使用 memory_get_usage()
我希望能够使用 Imagick PHP 扩展检测图像是否透明。 到目前为止,我唯一的幸运就是运行 exec()/其他一些命令,并使用 ImageMagick 命令行工具来实现它。这就是我的意思: ex
我已经安装了 imagick php 模块,还使用 Brew 安装了 Image Magick。安装并添加到 php.ini 中的扩展后,我在 Apache (XAMPP) 启动时收到此错误。 d
我刚刚开始使用 Imagick/ImageMagick 库编写一些 PHP,并且看到了几个关于 setImageCompression 的示例,它们似乎以不同的方式实现了一些东西。 例如我看到它是这样
我有两张图片(第一个和第二个链接)。 First image Second image Third image 第三张图片由 imagick 生成,代码: $image1 = new \imagick
我是一名优秀的程序员,十分优秀!