![](/img/trans.png)
[英]Convert PNG to JPG and set transparent background to white with ImageMagick and PHP
[英]Convert tiff (with path) to png and remove background (transparent) - with Imagemagick in PHP
所以,我有很多tiff文件,我想生成它們的縮略圖。 此縮略圖必須具有透明背景。
所有tiff都具有: 白色背景和沿着對象的路徑 (例如一罐可樂),並保存為CMYK。
因此,我嘗試了很多convert
命令(例如這些命令以及php Imagick::clipPath
但沒有任何工作很好(背景仍然存在/圖像損壞)。
convert a.tif -clip -resize 800x600 a.png
convert a.tif -clip -alpha transparent +clip -channel A -resize 800x600 a.png
還有這個PHP代碼:
<?php
$image = new Imagick('a.tif');
$image->clipPath();
$image->setImageFormat('png');
$image->thumbnailImage(800, 600, true);
$image->writeImage('a.png');
這是一個tif文件示例
也許有人知道如何解決這個問題。
編輯:
最好的結果是這樣的: convert test.tif -clip -alpha transparent 1.png
但這會保存背景,而不是剪切的對象。 ( png )
嘗試了幾個小時后才找到它。
convert can.tif -alpha transparent -clip -alpha opaque result.png
因此,它必須使用例如shell_exec
來執行-我沒有找到使用Imagick-PHP類執行此操作的任何可能的解決方案。
問題是舊的imagemagick版本以及命令屬性的順序錯誤。
PHP imagick擴展的解決方案是復制同一組命令:
$imagick->setImageAlphaChannel(\Imagick::ALPHACHANNEL_TRANSPARENT);
$imagick->clipImage();
$imagick->setImageAlphaChannel(\Imagick::ALPHACHANNEL_OPAQUE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.