procedure TImageButton.paint;
 var
   png: TPngImage;
 begin
   inherited;
   png := TPngImage.Create;
   png.Assign(Picture);
   with png do
   begin
     Canvas.Font := Self.Font;
     Canvas.Brush.Style := bsClear;
   end;
   png.Canvas.TextOut(0, 0, FCaption);
   Picture.Assign(png);
   png.Free;
 end;
想对image里的png图片写字,但是这样写之后,一运行就卡死?为什么