2

さて、タイトル通りの悩みです。私のテスト関数は次のようなものです:

$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では、タイルジオメトリを設定する方法がないようです。PHP で生成された tif ファイルと iipimage サーバー ログをテストすると、このファイルがタイル化されていないことがわかります。タイル張りのピラミッド tiff を生成する方法を知っている人はいますか? 「exec xxx」のようなものではなく、純粋にphpによるものです。

4

1 に答える 1

0

私はタイル張りのピラミッド 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");
?>
于 2016-05-09T08:32:05.220 に答える