質問

ドロップシャドウを画像ファイルに追加したい。それを行う最良の方法は何ですか? WPF Imageコントロールを作成し、ビットマップ効果を追加することを考えました。しかし、どのように結果をファイルに保存できますか?

ありがとう、エリック

役に立ちましたか?

解決

これを行うには、RenderTargetBitmapとエンコーダーを使用できます。エンコーダーは、Png、Jpegなどにすることができます。 以下のコードimgControlは、Imageコントロールを表します。ただし、ビットマップ効果であるため、この画像をグリッド内に配置し、ドロップシャドウに相当する適切なマージンを与えてから、imgControlの代わりに以下のコードでグリッドを使用する必要があります。

double Height = imgControl.ActualHeight;
double Width = imgControl.ActualWidth;

RenderTargetBitmap bmp = new RenderTargetBitmap((int)Width, (int)Height, 
                                                96, 96, PixelFormats.Pbgra32);
bmp.Render(imgControl);

BitmapEncoder encoder = new JpegBitmapEncoder();

encoder.Frames.Add(BitmapFrame.Create(bmp));

using (Stream stream = File.Create("Yourfile.jpeg"))
{
    encoder.Save(stream);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top