人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統(tǒng)下載站 > 技術開發(fā)教程 > 詳細頁面

對于DIB的輸出方式

對于DIB的輸出方式

更新時間:2022-09-19 文章作者:未知 信息來源:網絡 閱讀次數:

DIB,設備無關位圖。既然設備無關了,我們要輸出它就有了一些困難,畢竟在屏幕上能看到的都是設備場景中的圖像。那么要怎樣輸出它呢?

1、半隨機顯示——SetDIBitsToDevice

是的,該API實現的輸出是半隨機化的。簡單的說,用這個函數輸出的圖片我們能夠看到,但是它是不會被保存的,即使在VB中開啟了AutoRedraw也一樣。根據我的猜想,這個函數的實際功能非常簡單,將一幅圖片畫到一個設備場景所在的區(qū)域,設置不經過這個hDC本身的管理。

那么根據現象以及由現象推出的本質,這個函數對我們來說只有一個優(yōu)點:性能較高。但實際使用中的現象并非如此,該函數輸出一幅640x480的位圖平均需要6ms左右,如果你使用過Bitblt函數,你會發(fā)現,這個操作的效率是如此之低,甚至不如設備場景間的圖片傳遞。這是為什么?原因很簡單,DIB的轉換。的確,SetDIBitsToDevice是直接將圖像畫到hDC中,但是這個過程卻一定要把DIB的數據轉換成hDC兼容的格式(就是hDC的圖片格式本身),然后再繪出。所以要提高SetDIBitsToDevice的執(zhí)行性能,首先你創(chuàng)建的位圖最好符合你預期要輸出到的hDC的格式。

P.S.我很奇怪這個函數為什么要這樣設計,因為它是不能保存改變的,即使用在打印hDC中也不能使得輸出內容被打印出來。這個,希望有高手來解答了。

2、穩(wěn)定化輸出:CreateDIBitmap

這個函數簡單得多。你給出一個DIB,他負責把內容copy下來,然后“封裝”為一個hBitmap對象。你可以使用任何你想得到的方法對這個對象進行處理,根據我的實驗,多數都是成功的。

不過千萬不要妄想使用這個hBitmap對象進行原DIB的輸入操作。除非你用它創(chuàng)建了一個兼容的hDC,并且沒有把這個hBitmap選入任何hDC對象。

3、隨機輸出:DirectX

這個很高深。為什么這么說?因為你要手動進行好多轉換,然后以占用至少30MB內存為代價,來實現動態(tài)圖像的極連貫的輸出。在這里我不做詳細介紹了,本人水平有限,正在研究這個東東。同樣的,希望來個誰幫幫偶~



Over.

不知道這篇小心得對大家有沒有用,有用的話說一聲,謝了~呵呵~

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 汨罗市| 合作市| 阜南县| 漳浦县| 如皋市| 克拉玛依市| 长春市| 六盘水市| 体育| 杭锦旗| 特克斯县| 科尔| 敦煌市| 绥德县| 洪江市| 阜阳市| 开江县| 会昌县| 乌恰县| 延安市| 临泉县| 乐业县| 大名县| 句容市| 弥渡县| 武安市| 明溪县| 柳江县| 黑山县| 普安县| 望谟县| 普定县| 新竹市| 呼伦贝尔市| 东安县| 乌拉特前旗| 屏东市| 文安县| 朝阳市| 永平县| 廉江市|