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

像按下ALT+Print Screen一樣擷取畫面and存檔

 
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-10 11:12:59 IP:61.66.xxx.xxx 未訂閱
雖然是非常簡單的程式, 但是我發現還是有許多人問這個問題。 我也在論壇search過"擷取畫面", 但幾乎都是CCD的問題。而不是單純的擷取畫面。 所以在這裡po一篇。 從 class="code"> void CaptureScreen(const TSavePictureDialog *SavPicDlg, const TImage *IMGdes, const TImage *IMGsur) { String lc_strNewFilePath,lc_strFileType; TJPEGImage *lc_jpgJpegBuf = NULL; // 擷取畫面 IMGdes->Canvas->CopyRect(IMGdes->BoundsRect,From1->Canvas,IMGsur->BoundsRect); // 存檔 SavPicDlg->InitialDir = GetCurrentDir(); if(SavPicDlg->Execute()) { lc_strFileType = ExtractFileExt(Form1->SavPicDlg->FileName); lc_strNewFilePath = SavPicDlg->FileName; if(lc_strFileType == "") { lc_strNewFilePath = Form1->SavPicDlg->FileName ".bmp"; lc_strFileType = ".bmp"; } if(lc_strFileType == ".jpg" || lc_strFileType == ".jpeg" || lc_strFileType == ".JPG" || lc_strFileType == ".JPEG") { lc_jpgJpegBuf = new TJPEGImage () ; lc_jpgJpegBuf->Assign(IMGdes->Picture->Bitmap); lc_jpgJpegBuf->CompressionQuality=90; lc_jpgJpegBuf->SaveToFile(lc_strNewFilePath); delete lc_jpgJpegBuf ; lc_jpgJpegBuf = NULL; } else if(lc_strFileType == ".bmp" || lc_strFileType == ".BMP") { IMGdes->Picture->Bitmap->SaveToFile(lc_strNewFilePath); } else { Application->MessageBox("This file type is not allow.", "Load File", MB_OK); } } } ------------------------------- 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D Programmers Guide http://anpino.begin.8d8d.com 發表人 - anpino 於 2004/01/10 13:21:32
系統時間:2024-07-04 2:31:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!