tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
3556
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    FlashMX FlashMX ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    78
    Guten Tag,

    ist es möglich mit GDI+ aus einem BMP oder PNG Bild die Farbwerte der einzelnen Pixel auszulesen?
    Und wie kann ich die Bild Höhe und Breite auslesen?

    Danke im Voraus.
     

  2. #2
    MFC openGL MFC openGL ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    483
    Code :
    1
    2
    3
    4
    5
    
     [size=2][color=#008080]
     
    Image[/color][/size][size=2].FromFile(path).Width  / Height
     
    [/size]

    Das sagt die die Größe des Bildes


    Und das andere geht auch... weiß aber nicht genau wie. Glaube da läd man das Bild in ein Panel in GDI+, und positioniert den Mauszeiger auf den Pixel den man wissen will. Dann müsste es ne Methode geben die dir die Farbwerte an einer bestimmten Position ausgibt.
    Aber den Namen weiß ich gerade nicht, sorry
     
    Sprache : C/C++/C# & MFC
    Compiler : MSVC++ 7 / VS2003.net
    OS : Windows XP/2k

  3. #3
    PhoenixLoe PhoenixLoe ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    120
    Um die Farbwerte einzelner Pixel auszulesen, solltest du das Bitmap-Objekt verwenden (System.Drawing). Hier mal ein Beispielcode (C#, lässt sich aber problemlos auf andere Sprachen übertragen):

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    ( ... )
    [COLOR=Green] // Bitmap-Objekt aus einer Datei erstellen:[/COLOR]
    [COLOR=Teal] Bitmap[/COLOR] bmp = ([COLOR=Teal]Bitmap[/COLOR]) [COLOR=Teal]Image[/COLOR].FromFile([COLOR=DarkRed]"Dateipfad"[/COLOR]);
     
    [COLOR=Green] // Höhe und Breite auslesen[/COLOR]
    [COLOR=Blue] int[/COLOR] width = bmp.Width;
    [COLOR=Blue] int[/COLOR] height = bmp.Height;
     
    [COLOR=Green] // Farbwert eines Pixels an Position (x | y) auslesen[/COLOR]
    [COLOR=Teal] Color[/COLOR] col = bmp.GetPixel(x, y);
    ( ... )
    Per doppelter for-Schleife für den x- und y-Wert lassen sich so bequem alle Pixel ansprechen. Die einzelnen Farbkomponenten sind dann im Color-Objekt enthalten.

    Gruß
    PhoenixLoe
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 16.12.07, 18:49
  2. Bild in Pixel Bild umwandeln
    Von Lunam im Forum Photoshop
    Antworten: 6
    Letzter Beitrag: 29.08.07, 13:28
  3. Farbe der Pixel unter dem Cursor lesen?
    Von BhaaL im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 26.03.05, 17:26
  4. Wieviel Pixel braucht ein Bild?
    Von LeM4P im Forum Fotografie & Digitalfotografie
    Antworten: 1
    Letzter Beitrag: 30.12.04, 21:01
  5. bestimmte Pixel zählen in Bild
    Von Andreas S im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 02.11.04, 20:17