Frage

Ich möchte einen Schlagschatten auf eine Bilddatei hinzuzufügen. Was ist der beste Weg, das zu tun? Ich dachte an ein WPF-Image-Steuerelement Erstellen und Hinzufügen eines Bitmap-Effekts .. Aber wie kann ich das Ergebnis in eine Datei speichern?

Danke, Eric

War es hilfreich?

Lösung

Sie können mit Rendertargetbitmap und einen Encoder, dies zu tun. Encoder kann PNG, JPEG etc. sein .. Im Folgenden Code imgControl stellt Ihre Bildsteuerung. Aber da es dich um einen Bitmap-Effekt ist, müssen Sie möglicherweise dieses Bild in einem Gitter bringen und angemessenen Marge entspricht den Schlagschatten geben und dann statt imgControl das Gitter in dem folgenden Code verwenden.

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);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top