求解惑 canvas画布上画好的图片怎么保存~
procedure TForm1.btn1Click(Sender: TObject);
var
MyCanvas1: TControlCanvas;
bitmap: TBitmap;
MyCanvas2: TControlCanvas;
files: string;
XScale, YScale: Double; //x,y坐标比例
Sero_x, Sero_y: Integer;
s: TStringList;
i: Integer;
x, y, x1, y1: Integer;
strTmp: string;
begin
files := dlgOpen1.FileName;
bitmap := TBitmap.Create;
MyCanvas1 := TControlCanvas.Create;
try
bitmap.LoadFromFile(files);
Mycanvas1.control := img1;
MyCanvas1.StretchDraw(img1.clientRect, bitmap);
XScale := (Abs((StrToInt(edt2.Text)) - (StrToInt(edt1.Text)))) / 100; //x比例
YScale := (Abs((StrToInt(edt4.Text)) - (StrToInt(edt3.Text)))) / 100; //y比例
Sero_x := Abs((StrToInt(edt2.Text)) - (StrToInt(edt1.Text)) - (StrToInt(edt1.Text)));
Sero_y := Abs((StrToInt(edt4.Text)) - (StrToInt(edt3.Text)) - (StrToInt(edt3.Text)));
lbl7.Caption := 'X比例:' + FloatToStr(XScale) + ' ' + 'Y比例:' + FloatToStr(YScale)
+ ' ' + 'X补偿:' + IntToStr(Sero_x) + ' ' + 'Y补偿:' + IntToStr(Sero_y);
for i := 0 to lst1.Count - 1 do
begin
s := split(lst1.Items[i], ',');
x := Trunc((StrToInt(s[0])) * XScale + Sero_x); //转换比例尺
y := Trunc(Sero_y - (StrToInt(s[1])) * YScale);
x1 := x + (StrToInt(edt5.Text) - 21);
y1 := y + (StrToInt(edt6.Text) + 6);
strTmp := s[0] + ',' + s[1];
if chk1.Checked = False then
begin
MyCanvas1.Brush.Style := bsClear;
MyCanvas1.Font.Color := clBlack; //字体颜色
MyCanvas1.Font.Name := 'MS Sans Serif';
MyCanvas1.Font.Style := [fsBold];
MyCanvas1.Textout(x1, y1, strTmp);
MyCanvas1.Brush.Style := bsClear;
end else
begin
MyCanvas1.Font.Color := clBlack; //字体颜色
MyCanvas1.Font.Name := 'MS Sans Serif';
MyCanvas1.Textout(x1, y1, strTmp);
end;
//Sleep(800);
end;
finally
// img1 .Picture.SaveToFile(Extractfilepath(Application.ExeName)+'01.bmp');
bitmap.Free;
MyCanvas1.Free;
end;
windows.Beep(500, 200);
end;
图像画好了 请问怎么把画布上的图片保存下来啊 再下是新手 今天找了一天了都没找到办法