🎨
MiniMagickで画像の背景色を透過させる方法
目的
画像の背景色が白色で配置する先が薄いグレーだったので、画像の白色を透過させることにしました。Ruby on RailsのアプリだったのでRubyで画像処理をする方法を調べていました。いろいろと試行錯誤があったのですが、最終的にMiniMagickで処理を実行することができました。
コード
以下のコードで画像の白色部分を透過させることができました。モデルクラスの一部なのでこのままでは動作しませんが、参考としてメモしておきます。
def transparent_image
image = MiniMagick::Image.read(self.image)
image.combine_options do |c|
c.fuzz "20%"
c.transparent "white"
end
image
end
AIによる解説
画像データの読み込み
image = MiniMagick::Image.read(self.image)
MiniMagick::Image.read
を使用して、指定された画像データを読み込みます。
画像のオプション設定
image.combine_options do |c|
c.fuzz "20%"
c.transparent "white"
end
-
c.fuzz "20%"
: このオプションは、色の許容範囲を設定します。ここでは、白に近い色(20%の範囲内)も透明にされます。 -
c.transparent "white"
: 指定された色(白)を透明に変換します。
Discussion