freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

抓圖軟件課程設(shè)計(jì)(留存版)

  

【正文】 現(xiàn) 的 ,具體實(shí)現(xiàn)細(xì)節(jié)在這里不多做描述了。 問題最多當(dāng)要屬問題三:如何對(duì)抓到的圖片進(jìn)行保存且保存為指定位置的 bmp 文件,這個(gè)是整個(gè)程序設(shè)計(jì)當(dāng)中的難點(diǎn)也是最麻煩的 出了很多棘手的問題,由于需要設(shè)計(jì)一個(gè)這樣的保存函數(shù),限于自身水平就參考了網(wǎng)上同仁編寫的這種功能的函數(shù),于是拿到自己的程序中調(diào)用此函數(shù)便陷入了尷尬的境地,首先是出現(xiàn)了二三十處語(yǔ)法錯(cuò)誤經(jīng)過耐心修改全部搞定,但是執(zhí)行程序,單擊保存按鈕卻無法進(jìn)行保存,一運(yùn)行會(huì)發(fā)出錯(cuò)誤報(bào)告然后自動(dòng)退出,經(jīng)過確定是程序邏輯錯(cuò)誤,后經(jīng)過調(diào)試是應(yīng)為 在寫 這個(gè)函數(shù)的時(shí)候, 一個(gè) 參數(shù) 有問題,是因?yàn)樵搮?shù)是在前面的一個(gè)函數(shù)中定義過且為私有變量,后面的函數(shù)需要調(diào)用這個(gè)參數(shù),來獲取屏幕位圖窗口句柄,那么這個(gè)參數(shù)就需要設(shè)置為全局變量,在這里我就犯了這個(gè)低 級(jí)錯(cuò)誤。 同時(shí)增強(qiáng)了自己的編程能力和一些作為編程人員所因具有的耐性和仔細(xì),體會(huì)到了溝通協(xié)作的重要性,總之在這 兩個(gè)禮拜的軟件課程設(shè)計(jì)當(dāng)中自己學(xué)到了很多很多。對(duì)于問題一,很簡(jiǎn)單,利用 SetCapture 函數(shù)便能夠追蹤鼠標(biāo)的移動(dòng) , 包括在屏幕抓圖程序窗口之外的窗口 。Windows 規(guī)定一個(gè)掃描行所占的字節(jié)數(shù)必須是 4 的倍數(shù) (即以 long 為單位 ),不足的以 0 填充, 一個(gè)掃描行所占的字節(jié)數(shù)計(jì)算方法 : DataSizePerLine= (biWidth* biBitCount+31)/8 表示 一 個(gè) 掃描 行所 占 的字 節(jié)數(shù) ; DataSizePerLine= DataSizePerLine/4*4 表示 字節(jié)數(shù)必須是 4 的倍數(shù) , 位圖數(shù)據(jù)的大小 (不壓縮情況下 ):DataSize= DataSizePerLine* biHeight; 在 SaveBitmapToFile()當(dāng)中首先 定義調(diào)色板大小,位圖中像素字節(jié)大小 ,位圖文件大小,寫入文件字節(jié)數(shù) , 位圖屬性結(jié)構(gòu) , 位圖文件頭結(jié)構(gòu) , 位圖信息頭結(jié)構(gòu) , 指向位圖信息頭結(jié)構(gòu)定義文件,分配內(nèi)存句柄,調(diào)色板句柄 , 計(jì)算位圖文件每個(gè) 像素所占字節(jié)數(shù) , 計(jì)算調(diào)色板大小 。位圖文件的類型,必須為 BM位圖文件的大小,以字節(jié)為單位 , 位圖文件保留字,必須為 0位圖數(shù)據(jù)的起始位置,以相對(duì)于位圖文件頭的偏移量表示,以字節(jié)為單位 。 HBITMAP hOldBitmap。 //在鼠標(biāo)所在處的窗口四周畫一紅色的矩形,做為選定時(shí)的提醒 POINT pt[5]。 UINT nFlags。具體用法可以參見 MSDN,這里不做詳細(xì)敘述。 關(guān)鍵詞: 屏幕截圖 ; BMP 位圖 ; 設(shè)備環(huán)境( DC) 1 引言 在我們的日常上網(wǎng)活動(dòng)當(dāng)中比如看電影、玩游戲、做圖等等會(huì)對(duì)一些畫面 特別喜歡!但是卻沒有辦法將這些畫面以圖片形 式保存下來,真是猶如 “水中月,鏡中花”看 得到卻得不到。當(dāng)鼠標(biāo)左鍵釋放的時(shí)候 得到鼠標(biāo)所在處的窗口的區(qū)域?qū)?、?,然后 建立一個(gè)屏幕設(shè)備環(huán)境句柄 和 與屏幕設(shè)備環(huán)境句柄兼容、與鼠標(biāo)所在處的窗口的區(qū)域等大的位圖 , 把新位圖選到內(nèi)存設(shè)備描述表中 ,最后 把屏幕設(shè)備描述表拷貝到內(nèi)存設(shè)備描述表中 , 終止鼠標(biāo)捕獲 , 恢復(fù)窗口顯示模式 。然而,在屏幕抓圖程 序中,由于用戶所選擇的窗口是不固定的,所以,要想得到鼠標(biāo)所在處的窗口的 DC,不是很容易。 hwndCapture=(HWND)::WindowFromPoint(point)。 ::SelectObject(hDC,hpenOld)。 MessageBox(屏幕內(nèi)容已經(jīng)剪切獲得,請(qǐng)單擊對(duì)話框菜單按紐保存為 BMP 文件! )。 // 位圖信息頭 RGBQUAD bmiColors[1]。 圖 2就是抓取的全屏位圖。那么到最后該軟件就算大 功告成了。但是限于自身能力有限還有時(shí)間的關(guān)系,這些更棒功能等以后再實(shí)現(xiàn)吧 5 結(jié)束語(yǔ) 在此論文當(dāng)中主要介紹 VC++實(shí)現(xiàn)屏幕截圖功能的 實(shí)現(xiàn)基本 原理和 運(yùn)用的相關(guān)技術(shù)詳細(xì)介紹了軟件的 具體設(shè)計(jì)步驟, 所實(shí)現(xiàn)的這個(gè)抓圖軟件可以截取整個(gè)屏幕,截取指定的窗口,并將截取到的圖像以 bmp 文件形式保存到指定的路徑下。圖 3 是 抓取指定小窗口的 BMP圖片。 位圖數(shù)據(jù)記錄了位圖的每一個(gè)像素值,記錄順序是在掃描行內(nèi)是從左到右 ,掃描行之間是從下到上。 //恢復(fù)窗口顯示模式 ShowWindow(SW_NORMAL)。 } CDialog::OnMouseMove(nFlags, point)。 //建立一紅色的畫筆 HPEN hPen =CreatePen(PS_INSIDEFRAME,6, RGB(255,0,0))。在鼠標(biāo)所在處的窗口進(jìn)行繪圖時(shí),繪圖本身的目 的 只是為了提醒用戶目前所選擇的窗口,所以,在進(jìn)行繪圖時(shí),必須得保證不會(huì)破壞窗口原有的畫面。在整個(gè)程序當(dāng)中 要
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1