好吧,正如标题所说,我遇到了一个问题。我的测试函数是这样的:
$imagePath="/tmp/511a3874a0da1";
$pngName=$imagePath.".png";
$tifName=$imagePath.".tif";
$tempImg = new Imagick();
$tempImg->readImage($pngName);
//$tempImg->roundCorners(150,150);
//$image->transformImage("100x100", "100x100");
$tempImg->setFormat('ptif');
$tempImg->setImageColorSpace(5);
$tempImg->writeImage($tifName);
嗯,它生成一个 tif 文件,正如手册所说,ptif 是“平铺金字塔 tiff”的格式。我检查了imagemagick命令行工具,正常情况下应该是这样的:
convert 511a38e9a5cc5.png -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:o.tif'
我测试了这个命令并且它有效。但在 php 中,我似乎无法设置tile-geometry。当我测试 php 生成的 tif 文件时,iipimage 服务器日志告诉我该文件未平铺。有人知道如何生成平铺金字塔 tiff 吗?纯粹由 php 编写,而不是像“exec xxx”之类的东西。
我不太熟悉平铺金字塔 TIFF,但可能是这样的:
<?php
$tempImg = new Imagick();
$tempImg->readImage("image.png");
$tempImg->setFormat('ptif');
$tempImg->setImageDepth(8);
$tempImg->setOption('tiff:tile-geometry','256x256');
$tempImg->writeImage("result.tif");
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)