画像ファイルにドロップシャドウを追加したい。それを行うための最良の方法は何ですか?WPFイメージコントロールを作成してビットマップ効果を追加することを考えました。しかし、結果をファイルに保存するにはどうすればよいですか?
ありがとう、エリック
これを行うには、RenderTargetBitmapとエンコーダーを使用できます。エンコーダーには、Png、Jpegなどがあります。以下のコードimgControlは、イメージコントロールを表します。ただし、これはビットマップ効果であるため、この画像をグリッド内に配置し、ドロップシャドウと同等の適切なマージンを与える必要がある場合があります。次に、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);
}