簡體   English   中英

PHP ImageMagick在每幀中更改顏色GIF動畫

[英]PHP ImageMagick change color in every frame Animated Gif

我正在嘗試將動畫GIF中的RGB值更改為另一個RGB值。 但是,在我所有的嘗試中,它只是在一幀而不是所有幀中更改顏色。

$imgif = new Imagick(HOME_PATH.'/images/6.gif');
$target = 'rgba(238,131,41, 1.0)';
$fill = 'rgba(163,145,144, 1.0)';
$fuzz = 0.05 * $imgif->getQuantumRange()['quantumRangeLong'];
$imgif->opaquePaintImage($target, $fill, $fuzz, false, Imagick::CHANNEL_DEFAULT);

$imgifblob = $imgif->getImagesBlob();

無論如何,是否有索引整個GIF的顏色並對其進行更改? 我不知所措,因為我對圖像處理沒有太多經驗。

抱歉,我不太了解Imagick。 但是,這是在Imagemagick命令行中執行的方法。 您可能必須在Imagick中循環瀏覽每個幀,因為它可能不允許處理多幀圖像。 但是也許使用readImages可以工作。 請參閱https://www.php.net/manual/zh-CN/imagick.readimages.php ,在其中您將gif中的所有幀都指定為6.gif [0--1],即從幀0到最后一個的所有幀。框架-1。 對不起,我就是不知道。 一位Imagick專家也許可以提供進一步的幫助。

輸入:

在此處輸入圖片說明

convert bunny_anim.gif -coalesce -fuzz 10% -fill red -opaque "rgb(51,77,204)" -layers optimize new_bunny.gif


在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM