ss := i.ToString + '中国人民解放军中国人民解放军中国人民解放军';
  Image1.Width := Image1.Canvas.TextWidth(ss);
  Image1.Picture := nil;
 Image1.Canvas.TextOut(1, 1, ss);

 

 

根据文字动态改变image宽度,改变画布宽度尺寸大小。拖上去的控件,文字增多加宽,imag显示不完,加上Image1.Picture := nil这句就好了

不用加下面的语句了

        img.Canvas.Brush.Style := bsSolid;
        img.Canvas.FillRect(img.Canvas.ClipRect);
        img.Canvas.Brush.Style := bsClear;//透明文字输出