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

請問可以把自己的動作(加滑鼠)製程 .avi ???

尚未結案
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-10 22:36:45 IP:211.75.xxx.xxx 未訂閱
請問大大; 可以將自己所做過的動作做成.avi或 .wmv 嗎?? (Win2k)
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-10 22:58:12 IP:61.221.xxx.xxx 未訂閱
引言: 可以將自己所做過的動作做成.avi或 .wmv 嗎?? (Win2k)
tender 你好: 先試試看這個可不可以用呢??
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tinochen
一般會員


發表:0
回覆:18
積分:8
註冊:2002-07-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-10 22:58:46 IP:210.202.xxx.xxx 未訂閱
去MicroSoft下載Windows Media 編碼器,可以抓你銀幕動作轉成wmv
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-10 23:08:18 IP:211.75.xxx.xxx 未訂閱
哇!!   < > > < >
tinochen
一般會員


發表:0
回覆:18
積分:8
註冊:2002-07-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-10 23:30:29 IP:210.202.xxx.xxx 未訂閱
    請問 Windows Media 怎麼玩呢? 去哪download ??    http://www.microsoft.com/downloads/details.aspx?FamilyID=8cba450e-780e-4052-a889-21fb921f3c13&displaylang=zh-tw    中文版的不用錢、玩一下應該會上手了...
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-10 23:48:39 IP:203.69.xxx.xxx 未訂閱
請問: 如果要自己手工實作的話要如何開始呢?? 應該是顯抓圖吧!!可以抓到螢幕,但如何聯滑鼠一起呢??
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-10 23:56:03 IP:61.221.xxx.xxx 未訂閱
引言: 如果要自己手工實作的話要如何開始呢?? 應該是顯抓圖吧!!可以抓到螢幕,但如何聯滑鼠一起呢??
tender 你好: 先練習把整個抓取整個螢幕~~存成 BMP 以下的連結中~~有一個類似的範例,只需要稍微改一下 就可以抓到整個螢幕了
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-11 00:09:09 IP:203.69.xxx.xxx 未訂閱
大大: 抓螢幕圖OK,但是沒有mouse耶??
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-02-11 09:17:50 IP:203.73.xxx.xxx 未訂閱
引言: 抓螢幕圖OK,但是沒有mouse耶??
tender 你好: 請參考以下的做法 < class="code"> void __fastcall TForm1::Button2Click(TObject *Sender) { Graphics::TBitmap *bmpBuf; HDC hdc; int x,y; HCURSOR hCur; ICONINFO IconInfo; POINT pt; hdc=::GetDC(0); x=Screen->Width; y=Screen->Height; bmpBuf=new Graphics::TBitmap; bmpBuf->Handle=::CreateCompatibleBitmap(hdc, x, y); ::BitBlt(bmpBuf->Canvas->Handle, 0, 0, bmpBuf->Width, bmpBuf->Height, hdc, 0, 0, SRCCOPY); hCur=GetCursor(); IconInfo.fIcon=FALSE; GetIconInfo(hCur, &IconInfo); GetCursorPos(&pt); pt.x-=IconInfo.xHotspot; pt.y-=IconInfo.yHotspot; DrawIcon(bmpBuf->Canvas->Handle, pt.x, pt.y, hCur); bmpBuf->SaveToFile("C:\\bmpBuf.bmp"); delete bmpBuf; } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-02-11 17:10:26 IP:203.69.xxx.xxx 未訂閱
ya!! 有mouse了,接下來就是將他們變成 .avi/.mv了 but how to do , I just know CCD save to it??
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-02-11 17:27:47 IP:192.168.xxx.xxx 未訂閱
引言: ya!! 有mouse了,接下來就是將他們變成 .avi/.mv了 but how to do , I just know CCD save to it??
這樣抓下來的是一張張的圖檔 .avi或.gif動畫檔中都是儲存 前後兩張圖片的相異處 也就是有改變的區域來儲存 這樣空間才會比較小 有一個辦法 可以用Delphi附的.GIF產生程式範例 再用.GIF去轉.AVI的格式 會不會粉囉唆? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-02-11 20:05:15 IP:211.75.xxx.xxx 未訂閱
站長大人:: sorry~~
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-02-11 20:50:44 IP:203.69.xxx.xxx 未訂閱
各位大大::  剛剛我試了一下,抓螢幕圖然後秀再Image1上,發現了一個天大的錯誤 就是,抓圖貼圖好慢喔,是否還要做其他的運算呢?? 還有,當第二次以後抓圖時,抓到的圖會像鏡子一樣一直深進去,有辦法解決嗎??    其實我試想做一個小程式,就是開個小視窗在旁邊,小視窗可以即時看到自己的 動作,已可以錄下來,之後,再發展到 Intranet .所以想要實作看看, 難道方向錯了嗎??  大大大大 救人喔!!     可以提供建議嗎??
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-02-11 21:36:08 IP:61.221.xxx.xxx 未訂閱
引言: 剛剛我試了一下,抓螢幕圖然後秀再Image1上,發現了一個天大的錯誤 就是,抓圖貼圖好慢喔,是否還要做其他的運算呢?? 還有,當第二次以後抓圖時,抓到的圖會像鏡子一樣一直深進去,有辦法解決嗎?? 其實我試想做一個小程式,就是開個小視窗在旁邊,小視窗可以即時看到自己的 動作,已可以錄下來,之後,再發展到 Intranet .所以想要實作看看, 難道方向錯了嗎?? 可以提供建議嗎?? < face="Verdana, Arial, Helvetica"> tender 你好: 方便把你的程式碼貼上來嗎?? --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-02-11 22:01:19 IP:203.69.xxx.xxx 未訂閱
報告大大;; code 如下::    //---------------------------------------------------------------------------    #include  #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { movie_check = false; } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn1Click(TObject *Sender) { movie_check = true; ShowGraphic(); } //--------------------------------------------------------------------------- void __fastcall TForm1::ShowGraphic(void) { while (movie_check) { Graphics::TBitmap *bmpBuf; HDC hdc; int x,y; HCURSOR hCur; ICONINFO IconInfo; POINT pt; hdc=::GetDC(0); x=Screen->Width; y=Screen->Height; bmpBuf=new Graphics::TBitmap; bmpBuf->Handle=::CreateCompatibleBitmap(hdc, x, y); ::BitBlt(bmpBuf->Canvas->Handle, 0, 0, bmpBuf->Width, bmpBuf->Height, hdc, 0, 0, SRCCOPY); hCur=GetCursor(); IconInfo.fIcon=FALSE; GetIconInfo(hCur, &IconInfo); GetCursorPos(&pt); pt.x-=IconInfo.xHotspot; pt.y-=IconInfo.yHotspot; DrawIcon(bmpBuf->Canvas->Handle, pt.x, pt.y, hCur); TJPEGImage *jpg = new TJPEGImage(); jpg->PixelFormat = jf8Bit; jpg->CompressionQuality = 50; //壓縮率 jpg->Assign(bmpBuf); jpg->Compress(); delete bmpBuf; Image1->Picture->Assign(jpg); delete jpg; Sleep(1); } } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn2Click(TObject *Sender) { movie_check = false; } //---------------------------------------------------------------------------
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-02-12 09:21:24 IP:203.73.xxx.xxx 未訂閱
tender 你好: 試試看~~改成以下這樣 (情況會改善一點~~但期望不要太高) < class="code"> void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Timer1->Enabled=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Timer1->Interval=50; Timer1->Enabled=false; Image1->Width=400; Image1->Height=300; Image1->Stretch=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { Timer1->Enabled=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { Graphics::TBitmap *bmpBuf; HDC hdc; int x,y; HCURSOR hCur; ICONINFO IconInfo; POINT pt; int iconW, iconH; hdc=::GetDC(0); x=Screen->Width; y=Screen->Height; bmpBuf=new Graphics::TBitmap; bmpBuf->Width=Image1->Width; bmpBuf->Height=Image1->Height; bmpBuf->Handle=::CreateCompatibleBitmap(hdc, bmpBuf->Width, bmpBuf->Height); ::StretchBlt(bmpBuf->Canvas->Handle, 0, 0, bmpBuf->Width, bmpBuf->Height, hdc, 0, 0, x, y, SRCCOPY); hCur=GetCursor(); IconInfo.fIcon=FALSE; GetIconInfo(hCur, &IconInfo); GetCursorPos(&pt); pt.x-=IconInfo.xHotspot; pt.y-=IconInfo.yHotspot; pt.x=(long)((double)pt.x*(double)Image1->Width/(double)x); pt.y=(long)((double)pt.y*(double)Image1->Height/(double)y); ICONMETRICS IconMtr; IconMtr.cbSize=sizeof(ICONMETRICS); SystemParametersInfo(SPI_GETICONMETRICS, 0, &IconMtr, 0); iconW=(int)((double)IconMtr.iHorzSpacing*(double)Image1->Width/(double)x); iconH=(int)((double)IconMtr.iVertSpacing*(double)Image1->Height/(double)y); DrawIconEx(bmpBuf->Canvas->Handle, pt.x, pt.y, hCur, iconW, iconH, 0, NULL, DI_NORMAL | DI_COMPAT); TJPEGImage *jpg=new TJPEGImage(); jpg->PixelFormat=jf8Bit; jpg->CompressionQuality=50; //壓縮率 jpg->Assign(bmpBuf); jpg->Compress(); Image1->Picture->Assign(jpg); delete jpg; delete bmpBuf; ReleaseDC(NULL, hdc); } //--------------------------------------------------------------------------- 備註: 抓到的圖會像鏡子一樣一直深進去,有辦法解決嗎?? 這個問題~~很正常啊(你仔細想一想就會知道了) -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/02/12 10:57:53
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-02-12 20:39:35 IP:211.75.xxx.xxx 未訂閱
謝謝大大的code:: 果然是高手出招,真的有好一點點點點喔!! ^_^ 深遂的圖案,是理所當然的,但有辦法解決嗎?? just for thinking .. ^_^
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#18 引用回覆 回覆 發表時間:2003-02-14 11:12:23 IP:203.69.xxx.xxx 未訂閱
大大:: 可以麻煩你解釋一下,為什麼我的code和你的code 會照成速度上的差別呢
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#19 引用回覆 回覆 發表時間:2003-02-14 11:18:30 IP:203.73.xxx.xxx 未訂閱
引言: 可以麻煩你解釋一下,為什麼我的code和你的code 會照成速度上的差別呢
tender 你好: 主要在 CreateCompatibleBitmap 這一行 原來 > --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-03-29 12:45:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!