请问把当前FORM保存为一个图片,怎样才能保存图片时可以请别人选择放在什么位置??

解决方案 »

  1.   

    if savedialog1.execute then
    begin
      //savedialog1.filename就是要保存的图片文件名
     {...保存图片的代码}
    end;
    //SAVEDIALOG控件在DIALOG面板中
      

  2.   

    好像保存form为图片,能不能用cavas啊?
      

  3.   

    可以是Canvas的
    使用TBitMap做临时对象保存图片在处理就是了
      

  4.   

    type
      LogPal = record
      lpal : TLogPalette; 
      dummy:Array[0..255] of TPaletteEntry; 
      end;  procedure TMyControl.SaveAsBmp(fileName: TFileName);
    var
      Source: TComponent;
      SysPal : LogPal;
      tempCanvas: TCanvas;
      sourceRect, destRect: TRect;
      image2save: TImage;
      notUsed: HWND;
    begin
      tempCanvas := TCanvas.Create;
      try
        tempCanvas.Handle := GetDeviceContext(notUsed);
        image2save:=TImage.create(self);    try
          with image2save do
          begin
            Height := Self.Height;
            Width :=  Self.Width;
            destRect := Rect(0,0,Width,Height);
            sourceRect := destRect;
            Canvas.CopyRect(destRect,tempCanvas,sourceRect);
            SysPal.lPal.palVersion:=$300;
            SysPal.lPal.palNumEntries:=256;
            GetSystemPaletteEntries(tempCanvas.Handle,0,256,SysPal.lpal.palPalEntry);
            Picture.Bitmap.Palette:= CreatePalette(Syspal.lpal);      end;
          image2save.Picture.SaveToFile(fileName);
        finally
         image2save.Free;
        end;
      finally
        tempCanvas.Free;
      end;
    end;
      

  5.   

    选择savepicture组件,执行顶楼Drate(小虫) 的代码就可以了,
      

  6.   

    用savedialog要默认什么意思?
    是不是
    savedialog1.FileName:=your_pic_name
      

  7.   

    扩展名吧?设置DefaultExt属性。