Cześć, mam dziwny problem. Chciałem sobie zapisać na dysk canvasa TLabela. Więc napisałem sobie następujący kod testowy:
var
b: TBitmap;
label1: TLabel;
begin
label1:=TLabel.Create(self);
label1.Parent:=self;
label1.Font.Assign(Font);
label1.Caption:='Label_test';
label1.Top:=0; //dodano później
label1.Left:=0; //dodano później
label1.Visible:=true; //dodano później
b:=TBitmap.Create;
b.Width:=label1.Width;
b.Height:=label1.Height;
b.Canvas.CopyRect(Rect(0, 0, b.Width, b.Height), label1.Canvas, label1.ClientRect);
b.SaveToFile('C:\test.bmp');
FreeAndNil(b);
FreeAndNil(label1);
end;
Co jest efektem takiego kodu? Jest obrazek o odpowiednich rozmiarach i odpowienim kolorze tła, jednak BEZ NAPISU.
O dziwo, jeśli te sam kod wykonam na labelu statycznym(położonym na formie podczas projektowania), wszystko działa.
Czego mi brakuje? Ktoś może oświecić?