我正在开发一个PHP脚本,可以自动将TIFF图像转换为PNG文件.
为此,我使用ImageMagick:
$ convert a.tif a.png
Run Code Online (Sandbox Code Playgroud)
它在某种程度上起作用,然而,颜色非常尖锐,并且与我们在PC上的图像方式不同.为了说明问题,请查看随附的文件,包括:
有谁知道是否,如果是这样,我可以改变ImageMagick颜色解释?
非常感谢!
我正在使用ffmpeg从不同的视频格式(flv,mp4)中提取音频并将其转换为mp3.
%~dp0ffmpeg.exe -i %1 -ar 44100 -ac 2 -ab 128k "%~dpn1.mp3"
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,在我的输入文件中,音频比特率会有所不同,我想相应地调整输出比特率.即使通过广泛的Google搜索,我也没有找到任何提示如何保持原始比特率.
我需要的是:
-ab copy
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用.
有什么可行的吗?
PS:你可能从上面的格式中得知,我正在使用Windows批处理文件.会有hack使用%~dp0ffmpeg.exe -i,通过grep获取音频比特率并将其插入命令行.我只是认为必须有一种更简单,更优雅的方式.
好吧,所以我在这里有一个奇怪的例子,我无法弄明白.
我想在网站上解析一个列表.HTML看起来有点像这样:
<!-- ... -->
<ul id="foo">
<li data-text="item 1">Blabla</li>
<li data-text="item 2">Blabla</li>
<li data-text="item 3">Blabla</li>
<li data-text="item 4">Blabla</li>
</ul>
<!-- ... -->
Run Code Online (Sandbox Code Playgroud)
现在我想抓住所有列表项.我使用DOMDocument类.到目前为止,这很好:
$dom = new DOMDocument();
if (!$dom->loadHTML($html)) {
die ('Could not parse...');
}
$list = $dom->getElementById('foo');
$items = $list->childNodes;
foreach ($items as $item) {
print_r($item);
}
Run Code Online (Sandbox Code Playgroud)
但现在,我正在寻找一种简单的方法来读出data-text属性.我做的是:
foreach ($items as $item) {
echo $item->getAttribute('data-text');
}
Run Code Online (Sandbox Code Playgroud)
这适用于第一个项目,但随后它崩溃了foreach循环.输出是:
item 1
致命错误:在第44行的example.php中调用未定义的方法DOMText :: getAttribute()
我没有得到的是调用getAttribute方法如何改变foreach循环的上下文.所以这里有两个问题:
$item->attributes with另一个foreach方法,然后比较属性名称data-text并在匹配的情况下读取值,但肯定有更好的方法来做到这一点?!batch-file ×1
colors ×1
dom ×1
domdocument ×1
ffmpeg ×1
getattribute ×1
html-parsing ×1
imagemagick ×1
php ×1
tiff ×1