2017-07-03 18 views
1

JPG画像をPNGに変換し、白い背景を透明に変更する必要があります。私はImageMagick.NETを使用していると私は私が達成しようとしているものを行うことになっている、次のImageMagickのコマンドを発見した:ImageMagick.Netを使用して、背景の透明度を持つPNGにJPGを変換してください。

convert image.jpg -fuzz XX% -transparent white result.png 

を私はC#にこれを変換しようとしているが、私は取得していますすべてを持つPNG画像です白い背景。私のコードスニペット:

using (var img = new MagickImage("image.jpg")) 
{ 
    img.Format = MagickFormat.Png; 
    img.BackgroundColor = MagickColors.White; 
    img.ColorFuzz = new Percentage(10); 
    img.BackgroundColor = MagickColors.None; 
    img.Write("image.png"); 
} 

どのような助けにも大変感謝します。ありがとうございました!!

+0

'img.BackgroundColor = MagickColors.White;'カントがあなたの代わりに 'MagickColours.Transparent'を使うのか? (存在する場合) – SCramphorn

+0

BackgroundColorを2回使用するのは意味がありますか?最初にMagickColors.WhiteそしてMagickColors.None? – Blaatz0r

+0

お寄せいただきありがとうございます。それは存在する。 MagickColors.TransparentはRGBA値を#FFFFFF00に設定します。 'MagickColors.White'を' MagickColours.Transparent'に置き換え、BackgroundColorの2番目のインスタンスを削除しようとしましたが、それでも私は同じ結果を得ています。白い背景のPNG画像... –

答えて

2

コマンドラインでの引数のほとんどは、MagickImageクラスのプロパティまたはメソッドのいずれかです。あなたのコマンドは、これに翻訳します:

using (var img = new MagickImage("image.jpg")) 
{ 
    // -fuzz XX% 
    img.ColorFuzz = new Percentage(10); 
    // -transparent white 
    img.Transparent(MagickColors.White); 
    img.Write("image.png"); 
}