tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
309
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Templorials Templorials ist offline Mitglied Gold
    Registriert seit
    Aug 2004
    Ort
    Österreich
    Beiträge
    169
    Hallo,

    ich möchte folgendes mit C# realisieren..

    Einlesen eines gespeicherten PNG Bildes und dann das Ermitteln der Farbe (des Farbcodes) eines Pixel an einer bestimmten Stelle (z.B. Pixel auf der Position 100, 100 von der oberen linken Ecke aus)

    Ist das Möglich?
    Lg, Michael
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Ja es ist.

    System.Drawing.Bitmap.FromFile

    Bitmap.GetPixel

    Gibt noch einen anderen Weg mittels unsafe Code, welcher dann auch schneller ist. Aber das sollte für den Anfang ausreichend sein.

    Viel Spass.
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    Templorials Templorials ist offline Mitglied Gold
    Registriert seit
    Aug 2004
    Ort
    Österreich
    Beiträge
    169
    Danke, perfekt.
     

  4. #4
    Avatar von FwDonnerbalken
    FwDonnerbalken FwDonnerbalken ist offline Mitglied Brokat
    Registriert seit
    May 2005
    Beiträge
    323
    Mich würde die unsafe Variante interessieren... kannst du mal nen Beispiel oder nen Artikel zum schmökern posten, Alexander?
     
    Gruß,
    Sebastian

    Mein XING Profil

    Hilfreiche Antworten bitte bewerten!

  5. #5
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Oki.

    Hier ein Snippet, welches ein gegebenes Bild in Graustufen umwandelt. (Mit Gewichtung der Farbkomponenten)

    Dies Snippet selber stammt von CodeProject, war das erste das ich in meiner Sammlung gesehen hab welches ohne Änderungen gut lesbar ist.

    Die Klassen und Methoden sollten genug Anhaltspunkte liefern, um sich mehr Infos zu beschaffen. Wenn nicht, fragt.

    lg,..

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    // GDI+ still lies to us - the return format is BGR, NOT RGB.
    BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
     
    int stride = bmData.Stride;
    System.IntPtr Scan0 = bmData.Scan0;
    double redFact =  0.299;
    double greenFact =  0.587;
    double blueFact = 0.114;
     
    unsafe
    {
        byte* p = (byte*)(void*)Scan0;
     
        int nOffset = stride - b.Width * 3;
     
        byte red, green, blue;
     
        for (int y = 0; y < b.Height; ++y)
        {
            for (int x = 0; x < b.Width; ++x)
            {
                blue = p[0];
                green = p[1];
                red = p[2];
     
                p[0] = p[1] = p[2] = (byte)(redFact * red + greenFact * green + blueFact * blue);
                
     
                p += 3;
            }
            p += nOffset;
        }
    }
     
    b.UnlockBits(bmData);
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

Ähnliche Themen

  1. Farbe eines Pixels ermitteln
    Von snoopysalive im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 10
    Letzter Beitrag: 27.03.08, 11:02
  2. Photoshop CS Script Farbe eines Pixels
    Von mfg_asch im Forum Photoshop
    Antworten: 1
    Letzter Beitrag: 17.12.07, 16:56
  3. VB.Net: Farbwerte eines Pixels?
    Von Jiwolza im Forum .NET Grafik und Sound
    Antworten: 3
    Letzter Beitrag: 14.07.07, 00:25
  4. Farbe eines Pixels?
    Von kahuna im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 19.08.04, 08:38
  5. farbe eines Pixels auslesen
    Von bled im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 29.06.04, 16:08