中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

blendfunction結構參數怎么用

發布時間:2021-09-22 13:50:06 來源:億速云 閱讀:183 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關blendfunction結構參數怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

  BLENDFUNCTION通過指定源和目標位圖的透明混合參數來控制透明混合,AlphaBlend是Window自帶的GDI函數,在用GUI的時候為了達到更漂亮的效果我們常常用它,它的參數之一的類型就是BLENDFUNCTION。

  blendfunction結構

  typedefstruct_BLENDFUNCTION{

  BYTEBlendOp;

  BYTEBlendFlags;

  BYTESourceConstantAlpha;

  BYTEAlphaFormat;

  }BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION;

  blendfunction參數編輯

  BlendOp指定源混合操作。唯一的源和目標的混合方式已定義為AC_SRC_OVER;

  BlendFlags必須是0;

  SourceConstantAlpha指定一個alpha透明度值,這個值將用于整個源位圖;該SourceConstantAlpha值與源位圖的每個像素的alpha值組合;如果設置為0,就會假定你的圖片是透明的;如果需要使用每像素本身的alpha值,設置SourceConstantAlpha值255(不透明);

  AlphaFormat這個參數控制源和目標的解析方式,AlphaFormat參數有以下值:

  AC_SRC_ALPHA:這個值在源有Alpha通道時(也就是操作的圖本身帶有透明通道信息時),提醒系統API調用函數前必須預先乘以alpha值,也就是說位圖上某個像素位置的red、green、blue通道值必須先與alpha相乘。例如,如果alpha透明值是x,那么red、green、blue三個通道的值必須乘以x并且再除以255(因為alpha的值的范圍是0~255),之后才能被調用。

  應用備注編輯

  1、當AlphaFormat參數的值是AC_SRC_ALPHA,那么源位圖必須是32位深,否則的話,AlphaBland函數將調用失敗

  2、當BlendOp參數是AC_SRC_OVER時,源位圖根據alpha透明度值直接覆蓋在目標位圖之上

  3、如果源位圖不帶有透明度信息(那樣的話,AC_SRC_ALPHA不設置),將由SourceConstanAlpha的值來決定如何混合源位圖與目標位圖,如下表中所示。表中SCA代表SourceConstantAlpha的值,同樣,SCA除以了255,因為它的范圍是從0到255.

  Dst.Red=Src.Red*(SCA/255.0)+Dst.Red*(1.0-(SCA/255.0))

  Dst.Green=Src.Green*(SCA/255.0)+Dst.Green*(1.0-(SCA/255.0))

  Dst.Blue=Src.Blue*(SCA/255.0)+Dst.Blue*(1.0-(SCA/255.0))

  在這種情況下,如果目標位圖有透明度信息,那么混合方式將按照下面的公式來:

  Dst.Alpha=Src.Alpha*(SCA/255.0)+Dst.Alpha*(1.0-(SCA/255.0))

關于“blendfunction結構參數怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长春市| 永嘉县| 邻水| 平昌县| 长宁县| 清水河县| 吉隆县| 封丘县| 韶关市| 股票| 汉源县| 石柱| 浦江县| 高密市| 芮城县| 马鞍山市| 剑河县| 翁牛特旗| 界首市| 南昌县| 临桂县| 平远县| 华蓥市| 绥宁县| 余江县| 神池县| 九龙城区| 屯门区| 渝中区| 北海市| 莱州市| 绥棱县| 石嘴山市| 敦煌市| 天长市| 沙湾县| 福安市| 军事| 惠东县| 黔南| 全椒县|