Hi!
Ich habe jetzt einmal das Bild Pixel für Pixel auf das Image übertragen (hat ewig gedauert, war ja nur zum testen): Alles ist schwarz. Dann hab ich mit ShowMessage(ColorToString())
mal ein paar zufällig gewählte Pixel des Bildes aufgerufen: immer "clBlack". Wie kann das jetzt sein, wenn mit SaveToFile
das Bild korrekt gespeichert wird???
Ich glaube (
), dass es daran liegt, dass du versuchst außerhalb der Paint-Routine des Image auf dessen Canvas zu zeichnen.
Versuch's doch mal testweise mit
Delphi-Quellcode:
// falls Bild ein TBitmap ist
Image1.Picture.Bitmap.Assign(Bild);
// falls Bild ein TPicture ist
Image1.Picture.Assign(Bild);
Wenn das funktioniert, dann solltest du eventuell eher eine TPaintBox verwenden und in deren OnPaint-Ereignis alles zeichnen, was du zeichnen musst (auslösen kannst du das dann per
DeinePaintBox.Invalidate
). Dort kannst du dann soviel Canvas.Draw machen, wie du möchtest.
Gruß,
Sven