Über Pointer in Bitmap schreiben.



  • Hallo,

    warum funktioniert das nicht.

    pBitmap->Canvas->Brush->Color = clBlack;
    	pBitmap->Canvas->FillRect(Rect(0,0,100,100));
    	pBitmap->Canvas->Pixels[0][0] = 0x00ffffff;   //Pixel links oben Weiss
    	Ptr = (int*)pBitmap->ScanLine[0];             //Adresse Zeile 0 der     
                                                          //Bitmap ermitteln 
         Color = *Ptr;                                   //In Color steht der Wert
                                                         //für Weiss Ok
    	*Ptr	  = 0x00000000;                      //Wert für Schwarz in die 
                                                         //Bitmap über den Pointer 
         Color = *Ptr;                                   //es wird der Wert für 
                                                         //Schwarz zurückgelesen                                                            
    
          Image1->Canvas->Draw(0,0,pBitmap);              //Hier ist das Pixel aber 
                                                         //immer noch Weiss!?
    


  • Die Scanlines sind von unten nach oben angeordnet, d.h. Scanline[0] ist die unterste Zeile...(so sind die Windows DIBs abgespeichert!)


Anmelden zum Antworten