Hallo, ich möchte in meinem Programm auf einzelne Pixel in einem BitmapImage zugreifen und diese verändern. Ich habe nun schon etwas gesucht aber leider keine derartige Funktion gefunden. Ist es in WPF nicht möglich auf einzelen Pixel zuzugreifen?
nur ueber tricks - gabs hier im forum glaub ich schon - such mal
Gibt Bitmap Manipulationsklassen... moment...
da zum Beispiel: http://www.koders.com/csharp/fid6CB7C8C7E03A6E0FCE7B30E360E77F0AF6B23DF0.aspx
Um daraus das Bitmap Object zu bekommen, das du für die folgende Methode brauchst, musst du aus dieser Klasse _bitmap nach außen führen.
Und um dann aus einem Bitmap Object eine BitmapSource zu machen, nimmst du das da (hab ich als Extension Method für Bitmap realisiert):
[DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr Handle);
public static BitmapSource AsBitmapSource(this Bitmap Source)
{
IntPtr hBitmap = Source.GetHbitmap();
BitmapSource output = Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
DeleteObject(hBitmap);
return output;
}
Hoffe, dass ich dir damit helfen konnte.