Hallo,
ich suche eine Erklärung für das folgende merkwürdige Verhalten einer TImage-Komponente:
Man bestücke ein Formular mit einem TImage und zwei TButtons. Dann füge man folgenden Code hinzu:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button1Click(Sender: TObject); begin Image1.Picture.Bitmap.SaveToFile('dummy.bmp'); end;
procedure TForm1.Button2Click(Sender: TObject); begin Image1.Picture.Bitmap.LoadFromFile('dummy.bmp'); end;
procedure TForm1.FormCreate (Sender: TObject); begin Image1.Picture.Bitmap.LoadFromFile ('mono.bmp'); Image1.Picture.Bitmap.PixelFormat := pf32bit; end; |
Dabei ist 'mono.bmp' irgendeine monochrome Bitmap. Die Umwandlung des Pixelformats erfolgt, um alphatransparentes Zeichnen auf der Bitmap zu ermöglichen.
Drücht man jetzt die Buttons 1 und 2 mehrmals abwechselnd, dann rutscht die Bitmap jedes Mal um eine Pixelbreite nach links. Kommentiert man die Zeile mit dem Pixelformat aus, tritt dieser Effekt nicht auf.
Warum ???
Moderiert von Christian S.: Delphi-Tags hinzugefügt