paint重写为什么卡死?
- Delphi(Pascal) code
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图片写字,但是这样写之后,一运行就卡死?为什么
[解决办法]
卡死的一般原因是,一边自己画自己,一边自己刷新,造成循环调用了,查下代码吧
[解决办法]
png的创建最好不要放到paint里,用creat来初始化创建,不然会反复创建与释放,给程序增加负担。