2016年7月11日 星期一

移除圖片的alpha channel

Alpha channel指的是儲存圖片每個像素(pixel)的資料結構內,用來儲存透明度(transparency)資訊的部分。例如說用32-bit來儲存一個像素,裡面會有4個8-bit channels,前面三個分別給紅綠藍RGB存放資訊,最後一個8-bit channel則是所謂的alpha channel,以上參考Vangie Beal寫的《alpha channel》。下面文章介紹如何移除圖片的alpha channel

在Macintosh上最少有三種免費的方案:
  • 使用自由軟體 GIMP。參考《Remove Alpha Channel》
    1. 點選選單上的 Layer
    2. 選 Transparency
    3. 選 Remove Alpha Channel
    4. 點選選單上的 File
    5. 選 Export As ...
    6. 將圖片儲存成所需的格式
  • 預覽程式(preview),參考Mycah回應《Remove alpha channel in an image》
    1. 點選選單上的 File
    2. 選 Export......
    3. 把 Alpha 的選項勾選掉後儲存
  • 指令convert,根據Pschomentality回應《Remove alpha channel in an image》
    • convert in.png -background black -alpha remove -alpha off -resize 1024x1024 out.png

上面 preview 那一招我用Version 8.1 (877.7)是失敗的,原因不明;指令 convert(convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.)我沒有測試過。在Macintosh上驗證是否移除了Alpha channel可以用內建的指令sips(scriptable image processing system):
  • sips -g all *.tiff
以上指令就能檢查資料夾內所有的tiff圖片相關的參數,輸出類似
  pixelWidth: 4466
  pixelHeight: 3611
  typeIdentifier: public.tiff
  format: tiff
  formatOptions: lzw
  dpiWidth: 600.000
  dpiHeight: 600.000
  samplesPerPixel: 3
  bitsPerSample: 8
  hasAlpha: no
  space: RGB
  profile: Adobe RGB (1998)
查看hasAlpha那一列。另外也可以順便檢查圖片解析度與大小等等

_EOF_

沒有留言:

張貼留言