StretchDIBits使用方法

2021-09-06 17:24:21 字數 2122 閱讀 3770

**:

stretchdibits 函式把dib、jpeg、png影象中一矩形區域內的畫素顏色資料拷貝到指定的目標矩形裡。假設目標矩形大於源矩形,此函式將拉伸的行和列以適合目標矩形的顏色資料。假設目標矩形小於源矩形,則此函式使用指定的光柵操作壓縮的行和列。(note:整幅影象都會被顯示在乙個矩形區域中,這個矩形區域不許顯示原圖全貌)

語法:

int stretchdibits (hdc hdc,int xdest,ydest,int int ndestwidth,int ndestheight,int xsrc,int ysrc,int nsrcwidth,int nsrcheight,const void __in * lpbits,__in const bitmapinfo * lpbitsinfo,__in uint iusage,__in dword = dwrop) ;

引數:

hdc [in]

(note:不知道這[in]代表什麼暫且覺得它並不重要吧)

目標裝置上下文的控制代碼。

xdest [in]

角點的 x 座標,以邏輯單位的目標矩形的左上角。

ydest [in]

y 座標,邏輯單位上的目標矩形的左上角。

ndestwidth [in]

邏輯單位,目標矩形的寬度。

ndestheight [in]

邏輯單位,目標矩形的高度。

xsrc [in]

角的 x 座標,以畫素為單位,源矩形影象中。

ysrc [in]

y 座標,以畫素為單位,源矩形影象中。

nsrcwidth [in]

寬度,以畫素為單位,源矩形影象中。

nsrcheight [in]

高度以畫素為單位,源矩形影象中。

lpbits [in]

影象的位,作為位元組陣列儲存的指標。有關具體資訊,請參見備註部分。

lpbitsinfo [in]

指向包括dib 相關資訊的 bitmapinfo 結構的指標。

iusage [in]

指定是否提供的 bitmapinfo 結構的 bmicolors 成員,以及若然,是否 bmicolors 包括顯式的紅、 綠、 藍 (rgb) 值或索引。iusage 引數必須是下列值之中的乙個。 值

備註dib_rgb_colors

顏色表中包括文字的 rgb 值。

dib_pal_colors

該陣列包括到源裝置上下文的邏輯調色盤的 16 位索引。

dwrop [in]

指定的方式組合在一起以形成新的影象源畫素、 目標裝置上下文的當前畫刷和目標畫素。有關具體資訊,請參閱以下的備註部分。

返回值假設函式成功,則返回值是掃瞄複製的行數。請注意,此值能夠為負的映象內容。

假設該函式失敗,或者沒有掃瞄行被複製,則返回值為 0。

假設驅動程式不支援 jpeg 或 png 檔案影象傳遞給 stretchdibits,該函式將失敗並返回 gdi_error。假設發生問題,應用程式必須依靠自己的 jpeg 或 png 支援,將影象的解壓縮成位圖,然後將該點陣圖傳遞給 stretchdibits。

備註

自底向上 dib 的起始位置是左下角 ;自上而下 dib 的起始位置是左上角。

stretchdibits 建立乙個點陣圖鏡的像影象,假設nsrcwidth 和 ndestwidth 這兩個引數或 nsrcheight 和 ndestheight這兩個引數的符號不同。nsrcwidth 和 ndestwidth 的符號不同,那麼該函式建立乙個沿 x 軸映象的點陣圖影象。nsrcheight 和 ndestheight 的符號不同,那麼該函式建立沿 y 軸映象的點陣圖影象。

此函式同意 jpeg 或 png 影象作為源影象傳入。每乙個引數怎樣使用仍保持不變,除非:

icm: 假設通過使用 seticmmode 的ienableicm 引數設定為 icm_on的呼叫啟用了色彩管理,那麼顏色管理就會執行。假設由 lpbitsinfo 指定的點陣圖有一指定伽馬和成員終結點成員的bitmapv4header結構或乙個指定 profiledata 和 profilesize 的成員或伽馬和成員終點結成員的 bitmapv5header 然後該位圖的全部畫素將被視為表達在由這些成員所述的色彩空間種而不是裝置上下文的源顏色空間中。

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...

學習使用CSDN markdown使用

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...