Ob die Schleife hochzählt oder nicht, in jedem Durchlauf kommt
Zitat:
bmp.SaveToFile('temp1.bmp');
Du speicherst also immer in dieselbe Datei, die vorhergehenden werden dabei überschrieben. Wieso das Bild jetzt eine 1 enthält und keine 15 weiß ich auch nicht (Bitmap nicht breit genug?).
[edit] Wie ist es denn so?
Delphi-Quellcode:
procedure TFrmTest.btnGenerateBitmapsClick(Sender: TObject);
const
Pfad = 'C:\temp\'; // nur zum Testen
var
bm: TBitmap;
i: integer;
R: TRect;
begin
bm := TBitmap.Create;
try
bm.Width := 50;
bm.Height := 30;
bm.PixelFormat := pf24Bit;
bm.Canvas.Font.Name := 'Tahoma';
bm.Canvas.Font.Size := 20;
bm.Canvas.Brush.Color := clYellow;
R := Rect(0, 0, bm.Width, bm.Height);
for i := 1 to 15 do
begin
bm.Canvas.FillRect(R);
SetBkMode(bm.Canvas.Handle, TRANSPARENT);
DrawText(bm.Canvas.Handle, PChar(IntToStr(i)), -1, R, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
bm.SaveToFile(Format('%sbm%d.bmp', [Pfad, i]));
end;
finally
bm.Free;
end;
end;
[/edit]