請教TBitmap的CopyRect的問題 |
缺席
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
你好:
我剛好跟你寫的差不多呢 但是我覺得你好像陷入困境了 所以我把我搜尋到的讓你參考看看吧 [code cpp] HDC hDC=GetDC(Panel1->Handle); pCanvas->Handle=hDC; //pCanvas->Pen->Mode = pmCopy; //pCanvas->Pen->Style = psSolid; //pCanvas->Brush->Style = bsClear; bmp->Canvas->CopyRect(Panel1->ClientRect,pCanvas,Panel1->ClientRect); [/code] 其實我學這個是用來實地測試自己專題的......不知道你是用來做啥用的??
------
恩... |
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
可否稍微解釋一下
pCancas->Handel=hDC; 我需要新增什麼元件還是new什麼嗎? ===================引 用 istillloving 文 章=================== 你好: 我剛好跟你寫的差不多呢 但是我覺得你好像陷入困境了 所以我把我搜尋到的讓你參考看看吧 [code cpp] HDC hDC=GetDC(Panel1->Handle); pCanvas->Handle=hDC; //pCanvas->Pen->Mode = pmCopy; //pCanvas->Pen->Style = psSolid; //pCanvas->Brush->Style = bsClear; bmp->Canvas->CopyRect(Panel1->ClientRect,pCanvas,Panel1->ClientRect); [/code] 其實我學這個是用來實地測試自己專題的......不知道你是用來做啥用的?? |
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
抱歉我把宣告的地方分開了
[code cpp] TCanvas *pCanvas = new TCanvas; [/code] 其實剛剛請教了一下 "Google" 大神 打上 pCancas 他會教你滴 這一篇也不錯 delphi.ktop.com.tw/board.php ===================引 用 aee36900 文 章=================== 可否稍微解釋一下 pCancas->Handel=hDC; 我需要新增什麼元件還是new什麼嗎? ===================引 用 istillloving 文 章=================== 你好: 我剛好跟你寫的差不多呢 但是我覺得你好像陷入困境了 所以我把我搜尋到的讓你參考看看吧 [code cpp] HDC hDC=GetDC(Panel1->Handle); pCanvas->Handle=hDC; //pCanvas->Pen->Mode = pmCopy; //pCanvas->Pen->Style = psSolid; //pCanvas->Brush->Style = bsClear; bmp->Canvas->CopyRect(Panel1->ClientRect,pCanvas,Panel1->ClientRect); [/code] 其實我學這個是用來實地測試自己專題的......不知道你是用來做啥用的??
------
恩...
編輯記錄
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
我重新試了你的程式碼
可以run 但是我的image沒有東西show出來... 我也無解了... 我放上我的code 可以討論一下 Graphics::TBitmap *BMP = new Graphics::TBitmap; TCanvas *pCanvas = new TCanvas; HDC hDC=GetDC(Panel1->Handle); pCanvas->Handle=hDC; BMP->Canvas->CopyRect(Panel1->ClientRect,pCanvas,Panel1->ClientRect); Image1->Picture->Bitmap->Assign(BMP); by the way 目前我正在 擷取webcam影像並轉存為DICOM(醫學影像檔案) 非常感謝你的參予討論~~ ===================引 用 istillloving 文 章=================== 抱歉我把宣告的地方分開了 [code cpp] TCanvas *pCanvas = new TCanvas; [/code] 其實剛剛請教了一下 "Google" 大神 打上 pCancas 他會教你滴 這一篇也不錯 delphi.ktop.com.tw/board.php ===================引 用 aee36900 文 章=================== 可否稍微解釋一下 pCancas->Handel=hDC; 我需要新增什麼元件還是new什麼嗎? ===================引 用 istillloving 文 章=================== 你好: 我剛好跟你寫的差不多呢 但是我覺得你好像陷入困境了 所以我把我搜尋到的讓你參考看看吧 [code cpp] HDC hDC=GetDC(Panel1->Handle); pCanvas->Handle=hDC; //pCanvas->Pen->Mode = pmCopy; //pCanvas->Pen->Style = psSolid; //pCanvas->Brush->Style = bsClear; bmp->Canvas->CopyRect(Panel1->ClientRect,pCanvas,Panel1->ClientRect); [/code] 其實我學這個是用來實地測試自己專題的......不知道你是用來做啥用的?? |
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
那我想加入這行呢
http://topic.csdn.net/t/20050119/20/3739144.html [code cpp] Bmp->PixelFormat = pf24bit; [/code] 我們學校也有醫學影像呢 只不過我沒考....=..= ===================引 用 aee36900 文 章=================== 我重新試了你的程式碼 可以run 但是我的image沒有東西show出來... 我也無解了... 我放上我的code 可以討論一下 Graphics::TBitmap *BMP = new Graphics::TBitmap; TCanvas *pCanvas = new TCanvas; HDC hDC=GetDC(Panel1->Handle); pCanvas->Handle=hDC; BMP->Canvas->CopyRect(Panel1->ClientRect,pCanvas,Panel1->ClientRect); Image1->Picture->Bitmap->Assign(BMP); by the way 目前我正在 擷取webcam影像並轉存為DICOM(醫學影像檔案) 非常感謝你的參予討論~~ ===================引 用 istillloving 文 章=================== 抱歉我把宣告的地方分開了 [code cpp] TCanvas *pCanvas = new TCanvas; [/code] 其實剛剛請教了一下 "Google" 大神 打上 pCancas 他會教你滴 這一篇也不錯 delphi.ktop.com.tw/board.php ===================引 用 aee36900 文 章=================== 可否稍微解釋一下 pCancas->Handel=hDC; 我需要新增什麼元件還是new什麼嗎? ===================引 用 istillloving 文 章=================== 你好: 我剛好跟你寫的差不多呢 但是我覺得你好像陷入困境了 所以我把我搜尋到的讓你參考看看吧 [code cpp] HDC hDC=GetDC(Panel1->Handle); pCanvas->Handle=hDC; //pCanvas->Pen->Mode = pmCopy; //pCanvas->Pen->Style = psSolid; //pCanvas->Brush->Style = bsClear; bmp->Canvas->CopyRect(Panel1->ClientRect,pCanvas,Panel1->ClientRect); [/code] 其實我學這個是用來實地測試自己專題的......不知道你是用來做啥用的??
------
恩...
編輯記錄
istillloving 重新編輯於 2009-03-06 12:23:53, 註解 無‧
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
你好:
你說你的畫板有出現影像? 那應該你有驅動成功了 等等你可以把你全部的程式碼PO出來嗎??
------
恩...
編輯記錄
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
[code cpp] TCanvas *csBuf = new TCanvas; HDC hDC = GetDC(vc1); csBuf->Handle = hDC; Graphics::TBitmap *CapImg = new Graphics::TBitmap(); CapImg->Width = Panel1->Width; //設定大小 CapImg->Height = Panel1->Height; CapImg->PixelFormat=pf24bit; //設定格式 Image1->Picture->Assign(CapImg); String a[6] = {".jpg",".jpeg",".bmp",".ico",".emf",".wmf"}; if(SavePictureDialog1->Execute()); { CapImg->SaveToFile(SavePictureDialog1->FileName a[SavePictureDialog1->FilterIndex]); ReleaseDC(0, hDC); delete CapImg; }[/code] 抱歉這麼晚回覆~ |
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
你好:
如果這是你全部的程式的話我想你應該是沒有驅動你的視訊裝置 請參考這篇 http://leebcb.blogspot.com/search/label/vfw 裡面大部分都用英文解釋 其實我的英文也很爛所以有裝Google工具列可以幫忙翻譯........ 想辦法看懂之後 驅動你的視訊裝置然後在capCreateCaptureWindow 裡面 傳入Panel這個物件 Panel有值了 Bmp 就有值了 , Bmp 有值了 Image 也有值了 然後看你是要對Bmp直接做運算 還是再把Image存到Buff裡面做運算 如果你很急的話我看我把我的程式貼上來跟你討論一下好了
------
恩...
編輯記錄
istillloving 重新編輯於 2009-03-12 19:43:08, 註解 無‧
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
這是我擷取webcam的地方
[code cpp] vcHWND = capCreateCaptureWindow("Capture Window",WS_CHILD | WS_VISIBLE, 0, 0, Panel1->Width, Panel1->Height, Panel1->Handle, 0); //設定視窗大小 bool ScanDriver = false; for(int i=0; i<10; i ) { ScanDriver = capDriverConnect(vcHWND, i); if(ScanDriver) break; } if(!ScanDriver) ShowMessage("攝影機連接失敗.."); else { capPreviewRate(vcHWND, 40); capPreview(vcHWND, true); capOverlay(vcHWND, true); capPreviewScale(vcHWND, true); } [/code] //////////////////////////////////////////////////////////////////// 這是我擷取frame的地方 [code cpp] Graphics::TBitmap *BMP = new Graphics::TBitmap; BMP->Width=Panel1->Width; BMP->Height=Panel1->Height; BMP->Canvas->CopyRect(Rect(0, 0, BMP->Width, BMP->Height), Canvas, Rect(8, 48, Panel1->Width, Panel1->Height)); Image1->Width=Panel1->Width; Image1->Height=Panel1->Height; Image1->Picture->Bitmap->Assign(BMP); [/code] ///////////////////////////////////////////////////////////////////////////// 原本要用EzCap的 但是發現用在ActiveX卻不能使用 就自己寫 因為EzCap元件是一整個panel 我在使用上無法這樣做 所以定義起始座標(8.48) 當然可以cap到單格影像 但是...影像好像有問題... |
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
|
aee36900
一般會員 發表:14 回覆:22 積分:7 註冊:2009-01-16 發送簡訊給我 |
|
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |