delphi stringgrid(画布)
怎么把stringgrid,画到图片的画布上?谢谢
[解决办法]
如果是想把整个stringgrid控件画到一个图片上,可以用stringgrid.painto 方法
例如下面的代码把stringgrid画到一个bmp图片里并保存
var
bmp:TBitmap;
begin
bmp:=TBitmap.Create;
bmp.Width:=strngrd1.Width;
bmp.Height:=strngrd1.Height;
stringgrid1.PaintTo(bmp.Canvas,0,0); // 把stringgrid画到bmp里
bmp.SaveToFile('c:\aaaaaaa.bmp'); // 保存为本地图片
bmp.Free;
end;
var
bmp: TBitmap;
w, h: Integer;
begin
// 去掉第一列和网格的宽度
w := -strngrd1.ColWidths[0] - strngrd1.GridLineWidth;
// 去掉第一行的高度和网格的宽度
h := -strngrd1.RowHeights[0] - strngrd1.GridLineWidth;
bmp := TBitmap.Create;
bmp.Width := strngrd1.ClientWidth + w;
bmp.Height := strngrd1.ClientHeight + h;
strngrd1.PaintTo(bmp.Canvas, w, h);// 把stringgrid画到bmp里
bmp.SaveToFile('c:\aaaaaaa.bmp'); // 保存为本地图片
bmp.Free;
end;