全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:955
推到 Plurk!
推到 Facebook!

TAdvStringGrid to 图片

尚未結案
shihuashi
一般會員


發表:4
回覆:4
積分:1
註冊:2004-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-09 16:55:56 IP:220.196.xxx.xxx 未訂閱
各位老大,能否将TAdvStringGrid的内容作为一个整体转换为一张图片,另外能不能将paintbox中显示的内容转换为一张图片,急呀。 因为我在TAdvStringGrid中显示了一些内容,其中包括画的一些内容,我希望能将其中的内容作为一个整个转化其它格式的文件,便于复制和发送,例如图片格式等
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-09 17:16:10 IP:202.39.xxx.xxx 未訂閱
var
  bmp: TBitmap;
begin
  bmp := TBitmap.Create;
  try
    bmp.Width := PaintBox1.Width;
    bmp.Height := PaintBox1.Height;
    PaintBox1.Canvas.Draw(0, 0, bmp);
    bmp.SaveToFile('c:\xx.bmp');
  finally
    bmp.Free;
  end;
end;
另外, TAdvStringGrid 應該也可以這麼做, 如果 TAdvStringgrid 的內容沒有須要 Scrollbar 來全部顯示的話
shihuashi
一般會員


發表:4
回覆:4
積分:1
註冊:2004-06-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-14 09:49:43 IP:220.196.xxx.xxx 未訂閱
感谢你的热心帮助,问题已经解决了
shihuashi
一般會員


發表:4
回覆:4
積分:1
註冊:2004-06-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-14 10:06:57 IP:220.196.xxx.xxx 未訂閱
我试了一下你的方法,保存的为空白的图片,下面是我实现的方法,保存的为jpg图片,这里只是获得了jpg,保存另外写的,painbox放在Panel上,: var bmpscreen:Tbitmap; jpegscreen:Tjpegimage; FullscreenCanvas:TCanvas; dc:HDC; sourceRect, destRect: TRect; begin dc:=getdc(self.SnPanel2.Handle); fullscreencanvas:=Tcanvas.Create; fullscreencanvas.Handle:=dc; bmpscreen:=Tbitmap.create; bmpscreen.Width :=self.Paintbox1.Width ; bmpscreen.Height :=self.PaintBox1.Height ; sourcerect := self.PaintBox1.ClientRect; destrect := self.PaintBox1.ClientRect; bmpscreen.Canvas.CopyRect(sourcerect,fullscreenCanvas,destrect); jpegscreen:=Tjpegimage.Create ; jpegscreen.Assign (bmpscreen); jpegscreen.CompressionQuality:=50; jpegscreen.SaveToStream (jpegStream1); jpegStream1.Position :=0; FullscreenCanvas.Free; bmpscreen.Free; jpegscreen.Free ; ReleaseDC(0, DC); end;
系統時間:2024-05-18 13:28:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!