亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Imagemagick(轉換)控制臺與 php Imagick - 不同的結果

Imagemagick(轉換)控制臺與 php Imagick - 不同的結果

PHP
森林海 2022-07-02 15:42:00
當我這樣做時convert 1.png 1.jpg- 我從 png 中刪除了透明并在 jpg 中看到了真實的背景,但是當我在 php Imagick 中做同樣的事情時:    $piece = new Imagick("1.png");    $piece->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);    $piece->setImageFormat('jpg'); // How to refresh content of $piece w/o save to disk?    $piece->writeImage('image.jpg'); // it works as I need - when reopen saved image我得到的只是白色背景,在第一張圖片上是透明的(但在第一張圖片上是透明的)。如何使用 Imagick 獲得相同的結果?
查看完整描述

1 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

您正在執行兩種不同類型的處理。

JPG 不支持透明度。所以你的轉換命令只是讀取 PNG 輸入并保存到 JPG 輸出。具有透明度的 Alpha 通道被簡單地移除,顯示任何圖像或顏色數據位于 Alpha 通道的透明部分下方。

在您的 Imagick 代碼中,您將 Alpha 通道與默認的白色背景進行了展平。這會在 alpha 通道透明的地方放置白色,然后保存為 JPG。

如果您想要在您的轉換命令中使用相同的白色,那么請執行convert image.png -flatten image.jpg. 如果您希望您的 Imagick 執行與轉換相同的操作,請移除展平。讀取 input.png 圖像并簡單地保存為 JPG。


查看完整回答
反對 回復 2022-07-02
  • 1 回答
  • 0 關注
  • 104 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號