線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1694
推到 Plurk!
推到 Facebook!

有無辦法可將在TPanel上的所有元件直接存成圖片?

尚未結案
MichaelChien
一般會員


發表:33
回覆:37
積分:14
註冊:2002-12-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-15 16:16:04 IP:211.76.xxx.xxx 未訂閱
例如我某一個TPanel上有放了一個時鐘,我想把它存成BMP或JPG,或者可直接壓成影片,有沒有解決方式呢?
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-15 17:41:11 IP:220.132.xxx.xxx 未訂閱
MichaelChien 你好: 請按一下鍵盤 printscreensysrq 然後開啟一個新的小畫家 在按貼上
------
======================
昏睡~
不昏睡~
不由昏睡~
MichaelChien
一般會員


發表:33
回覆:37
積分:14
註冊:2002-12-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-16 00:19:21 IP:211.76.xxx.xxx 未訂閱
一、不是要儲存整個畫面,而是針對單一個TPanel上的元件做儲存。 二、一個畫面上有好幾個TPanel,要分開存。 感謝ko的回答。
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-16 09:10:03 IP:220.132.xxx.xxx 未訂閱
MichaelChien 你好: 請問你是要runtime的時候做擷取的動作 還是在design的時候做擷取?
------
======================
昏睡~
不昏睡~
不由昏睡~
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-16 09:27:06 IP:210.64.xxx.xxx 未訂閱
你好 這是我參考其他大大的處理,利用panel的handle去作處理,panel2就是指定的panel,然後再放一個Image1用來顯示!!發表的大大說,應該所有的元件都可以使用handle來處理!!試試看吧!!
var
  a, b : HDC;
  sx, sy : integer;
  mybmp : TBitmap;
  myimage: TImage;
  MyFormat : Word;
  AData : THandle;
  APalette : HPALETTE;
begin
  a := GetDC(Panel2.Handle);
  sx := Panel2.Width;
  sy := Panel2.Height;      mybmp:= TBitmap.Create;
  myimage:= TImage.Create(self);      Image1.Width := sx;
  Image1.Height := sy;
  b := Image1.Canvas.Handle;
  BitBlt(b, 0, 0, sx, sy, a, 0, 0, SRCCOPY);
  mybmp.Canvas.Draw(0, 0, Image1.Picture.Bitmap);
  mybmp.Assign(Image1.Picture.Bitmap);
//   if you want to save this picture , use this code!!
  mybmp.SaveToFile('c:\1.bmp');
Pillar Wang
------
Pillar Wang
系統時間:2024-04-27 1:36:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!