Laden...

Keinen Pixelzugriff auf BitmapImage?

Erstellt von Neidhard vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.123 Views
N
Neidhard Themenstarter:in
135 Beiträge seit 2006
vor 14 Jahren
Keinen Pixelzugriff auf BitmapImage?

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?

U
1.578 Beiträge seit 2009
vor 14 Jahren

nur ueber tricks - gabs hier im forum glaub ich schon - such mal

925 Beiträge seit 2004
vor 14 Jahren

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.