小编Bla*_*ise的帖子

PHP 中的 Imagemagick 特定 webp 调用

我能够为 imagemagick 安装 webp 支持。但是我缺少一些精确的命令。基本内容涵盖:

$im = new Imagick();
$im->pingImage($src);
$im->readImage($src);
$im->resizeImage($width,$height,Imagick::FILTER_CATROM , 1,TRUE ); 
$im->setImageFormat( "webp" );   
$im->writeImage($dest); 
Run Code Online (Sandbox Code Playgroud)

但我错过了许多微调选项,如此处的 imageMagick 命令行文档中所述:http : //www.imagemagick.org/script/webp.php

具体来说:

如何设置压缩质量?(我试过 setImageCompressionQuality 但它不起作用,即输出总是相同的大小)

如何设置“方法”(从 0 到 6)?

谢谢

编辑:我遵循下面@emcconville 的建议(谢谢!),无论是方法还是压缩都不起作用。所以我开始怀疑我对imagemagick的编译。我尝试使用命令行:

convert photo.jpg -resize 1170x1170\> -quality 50 photo.webp
Run Code Online (Sandbox Code Playgroud)

Wehn 更改 50 质量变量,结果文件始终大小相同。所以我的imagemagick一定有问题......

php imagemagick webp

3
推荐指数
1
解决办法
8586
查看次数

Windows CMD Batch:在循环中连接变量NAME

在Windows CMD批处理循环中,我想使用动态变量:list1,list2和list3,其中数字1-3是动态的(即:list&i),但我正在努力:

setlocal enabledelayedexpansion enableextensions
SET threads=3
set i=1

for /R %%x in (*.jpg) do  ( call set LISTNAME=LIST!i! & SET LIST!i!=!LISTNAME! "%%x" & set /A i=!i!+1  & if !i! gtr %threads% (set i=1))

echo "first" %LIST1%
echo "second" %LIST2%
echo "third" %LIST3%
Run Code Online (Sandbox Code Playgroud)

我奋斗的确切地点是:

SET LIST!i!=!LISTNAME! "%%x" 
Run Code Online (Sandbox Code Playgroud)

我想要的地方例如是:

SET LIST1=!LIST1! "%%x"
Run Code Online (Sandbox Code Playgroud)

但是listname只是转换为字符串LIST1,而不是变量LIST1.我也尝试过没有成功:

SET LIST!i!=!LIST!i!! "%%x"
Run Code Online (Sandbox Code Playgroud)

脚本的用途:将JPG文件名放在3个列表EDIT中以回答第一个注释:文件名称以循环方式分布并用空格分隔.

windows cmd batch-file

2
推荐指数
1
解决办法
558
查看次数

标签 统计

batch-file ×1

cmd ×1

imagemagick ×1

php ×1

webp ×1

windows ×1