青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開心的工作
簡(jiǎn)單、開放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

BLENDFUNCTION

Posted on 2010-09-07 14:39 S.l.e!ep.¢% 閱讀(926) 評(píng)論(1)  編輯 收藏 引用 所屬分類: DirectUI

typedef struct _BLENDFUNCTION {
? BYTE BlendOp;
? BYTE BlendFlags;
? BYTE SourceConstantAlpha;
? BYTE AlphaFormat;
} BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;


The BLENDFUNCTION structure controls blending by specifying the blending functions for source and destination bitmaps.
BLENDFUNCTION這種結(jié)構(gòu)的混合控制通過指定源和目標(biāo)位圖的混合功能
BlendOp

The source blend operation. Currently, the only source and destination blend operation that has been defined is AC_SRC_OVER. For details, see the following Remarks section.

指定源混合操作。目前,唯一的源和目標(biāo)混合,已定義的AC_SRC_OVER; 即根據(jù)源alpha值把源圖像疊加到目標(biāo)圖像上。OpenGLalpha混合還支持其他的方式,如常量顏色源。

BlendFlags

Must be zero.


SourceConstantAlpha

Specifies an alpha transparency value to be used on the entire source bitmap. The SourceConstantAlpha value is combined with any per-pixel alpha values in the source bitmap. If you set SourceConstantAlpha to 0, it is assumed that your image is transparent. Set the SourceConstantAlpha value to 255 (opaque) when you only want to use per-pixel alpha values.

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

AlphaFormat

This member controls the way the source and destination bitmaps are interpreted. AlphaFormat has the following value.

Value Meaning
AC_SRC_ALPHA This flag is set when the bitmap has an Alpha channel (that is, per-pixel alpha). Note that the APIs use premultiplied alpha, which means that the red, green and blue channel values in the bitmap must be premultiplied with the alpha channel value. For example, if the alpha channel value is x, the red, green and blue channels must be multiplied by x and divided by 0xff prior to the call.


  AlphaFormat 此成員控制源和目標(biāo)位圖的解釋;看以下值:
  AC_SRC_ALPHA 這個(gè)標(biāo)志被設(shè)置當(dāng)那位圖有Alpha通道(也就是說(shuō),每個(gè)像素的Alpha);
  例如,如果Alpha通道值是x,紅色,綠色和藍(lán)色通道必須乘以x和由
  0xff分開在調(diào)用之前

Remarks

When the AlphaFormat member is AC_SRC_ALPHA, the source bitmap must be 32 bpp. If it is not, the AlphaBlend function will fail.

When the BlendOp member is AC_SRC_OVER, the source bitmap is placed over the destination bitmap based on the alpha values of the source pixels.

If the source bitmap has no per-pixel alpha value (that is, AC_SRC_ALPHA is not set), the SourceConstantAlpha value determines the blend of the source and destination bitmaps, as shown in the following table. Note that SCA is used for SourceConstantAlpha here. Also, SCA is divided by 255 because it has a value that ranges from 0 to 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))

?

If the destination bitmap has an alpha channel, then the blend is as follows.

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

?

If the source bitmap does not use SourceConstantAlpha (that is, it equals 0xFF), the per-pixel alpha determines the blend of the source and destination bitmaps, as shown in the following table.

Dst.Red= Src.Red+ (1 - Src.Alpha) * Dst.Red
Dst.Green= Src.Green+ (1 - Src.Alpha) * Dst.Green
Dst.Blue= Src.Blue+ (1 - Src.Alpha) * Dst.Blue

?

If the destination bitmap has an alpha channel, then the blend is as follows.

Dest.alpha= Src.Alpha+ (1 - SrcAlpha) * Dst.Alpha

?

If the source has both the SourceConstantAlpha (that is, it is not 0xFF) and per-pixel alpha, the source is pre-multiplied by the SourceConstantAlpha and then the blend is based on the per-pixel alpha. The following tables show this. Note that SourceConstantAlpha is divided by 255 because it has a value that ranges from 0 to 255.

Src.Red= Src.Red* SourceConstantAlpha / 255.0;
Src.Green= Src.Green* SourceConstantAlpha / 255.0;
Src.Blue= Src.Blue* SourceConstantAlpha / 255.0;
Src.Alpha= Src.Alpha* SourceConstantAlpha / 255.0;
Dst.Red= Src.Red+ (1 - Src.Alpha) * Dst.Red
Dst.Green= Src.Green+ (1 - Src.Alpha) * Dst.Green
Dst.Blue= Src.Blue+ (1 - Src.Alpha) * Dst.Blue
Dst.Alpha= Src.Alpha+ (1 - Src.Alpha) * Dst.Alpha

?

最后一個(gè)字段AlphaFormat有兩個(gè)選擇:0表示常量alpha值,AC_SRC_ALPHA表示每個(gè)像素有各自的alpha通道。

如果AlphaFormat字段為0,源位圖中的所有像素使用同樣的常量alpha值,即SourceConstantAlpha字段中的值,該值實(shí)際上是0255,而不是01。這里0表示完全透明,255表示完全不透明。目標(biāo)像素以255-SourceConstantAlpha值作為alpha值。

如果AlphaFormat字段的值是AC_SRC_ALPHA,源設(shè)備表面的每個(gè)像素必須有各自的alpha通道。即,必須是32-bpp的物理設(shè)備上下文,或是選中了32-bpp DDBDIB段的內(nèi)存設(shè)備上下文。這些情況下,每個(gè)源像素有4個(gè)8位通道:紅、綠、藍(lán)和alpha。每個(gè)像素的alpha通道和SourceConstantAlpha字段一起用于把源和目標(biāo)混合起來(lái)。實(shí)際用于計(jì)算的運(yùn)算式如下:

Tmp.Red ??= Src.Red ??* SourceConstantAlpha / 255;

Tmp.Green = Src.Green * SourceConstantAlpha / 255;

Tmp.Blue ?= Src.Blue ?* SourceConstantAlpha / 255;

Tmp.Alpha = Src.Alpha * SourceConstantAlpha / 255;

Beta????? = 255 – Tmp.alpha;

Dst.Red ??= Tmp.Red? ?+ Round((Beta * Dst.Red? )/255);

Dst.Green = Tmp.Green + Round((Beta * Dst.Green)/255);

Dst.Blue ?= Tmp.Blue ?+ Round((Beta * Dst.Blue )/255);

Dst.Alpha = Tmp.Alpha + Round((Beta * Dst.Alpha)/255);


Feedback

# re: BLENDFUNCTION   回復(fù)  更多評(píng)論   

2012-08-09 09:16 by changmning
有這個(gè)函數(shù)BLENDFUNCTION的用法實(shí)例嗎?
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品一区视频网站| 欧美成人综合一区| 国产伦精品一区| 欧美一区二区三区视频| 午夜欧美精品| 黄色成人免费网站| 欧美成人首页| 欧美日韩在线一区二区| 亚洲欧美变态国产另类| 久久不射中文字幕| 91久久精品一区二区三区| 亚洲精品一区二区三区四区高清| 欧美日本一区二区三区| 香蕉久久国产| 免费观看久久久4p| 亚洲欧美日韩在线| 久久久91精品国产一区二区三区| 亚洲日本精品国产第一区| 在线视频欧美日韩| 国产亚洲一级高清| 亚洲国产精品成人综合色在线婷婷| 欧美另类视频| 久久久久久自在自线| 欧美精品国产| 久久久夜精品| 国产精品麻豆成人av电影艾秋| 久久综合色88| 国产精品区免费视频| 欧美顶级少妇做爰| 国产日产欧产精品推荐色| 亚洲国产日韩欧美在线99| 国产精品人人做人人爽人人添| 女仆av观看一区| 国产精品永久免费在线| 欧美黄色免费| 国产亚洲一级| 亚洲小视频在线观看| 亚洲乱码国产乱码精品精可以看 | 亚洲大片在线| 国产亚洲精品激情久久| 99国产一区| 亚洲啪啪91| 久久久久天天天天| 欧美怡红院视频| 欧美四级伦理在线| 亚洲欧洲一区二区三区| 在线播放亚洲一区| 欧美一区二区视频网站| 午夜精品影院| 国产精品久久久久一区二区| 亚洲精品一二| 夜夜精品视频一区二区| 欧美14一18处毛片| 蜜臀久久久99精品久久久久久| 国产欧美成人| 亚洲欧洲av一区二区三区久久| 亚洲欧美激情一区| 国产精品护士白丝一区av| 日韩一级黄色av| 亚洲婷婷综合色高清在线| 欧美国产精品v| 亚洲国产小视频| 亚洲精品专区| 欧美日韩成人网| 日韩视频一区二区三区在线播放免费观看 | 欧美精品日韩www.p站| 欧美激情按摩| 亚洲精品乱码久久久久久蜜桃麻豆| 久久综合伊人77777| 免费h精品视频在线播放| 亚洲福利在线观看| 猛男gaygay欧美视频| 亚洲电影欧美电影有声小说| 亚洲欧洲一区| 欧美日韩国产一中文字不卡| 99精品国产福利在线观看免费| 亚洲图片激情小说| 国产乱人伦精品一区二区 | 亚洲国产99| 日韩一级精品视频在线观看| 欧美日韩你懂的| 午夜精品久久久久久久久久久久| 久久久精品一区| 亚洲福利一区| 欧美性视频网站| 欧美制服丝袜| 亚洲精品激情| 久久国产手机看片| 91久久精品国产91久久性色tv| 欧美日韩福利| 欧美一区二区在线播放| 亚洲国产三级在线| 欧美一二三区精品| 亚洲国产精品日韩| 国产精品你懂的| 免费日韩一区二区| 亚洲午夜一区二区三区| 欧美成人一区在线| 亚洲欧美视频在线观看视频| 亚洲第一视频网站| 国产精品国产一区二区| 久久综合伊人77777蜜臀| 一区二区三区视频免费在线观看 | 亚洲一区二区三区四区五区午夜 | 在线观看亚洲a| 国产精品户外野外| 欧美1区2区3区| 欧美一区二区三区免费视| 亚洲激情黄色| 久久久人成影片一区二区三区观看| 99在线热播精品免费| 国产一区二区精品久久| 国产精品夫妻自拍| 欧美www在线| 久久久久久久97| 一本综合久久| 亚洲激情影视| 欧美jjzz| 久久亚洲精品一区二区| 亚洲综合视频1区| 亚洲精品视频在线播放| 黄色一区二区在线| 国产日韩欧美成人| 国产精品视频内| 欧美日韩免费网站| 毛片av中文字幕一区二区| 香蕉久久夜色精品| 亚洲制服少妇| 亚洲图片欧洲图片av| 亚洲毛片在线看| 亚洲国产精品精华液2区45| 美女亚洲精品| 美女黄网久久| 麻豆精品一区二区综合av| 久久国产福利| 久久精品首页| 久久理论片午夜琪琪电影网| 久久九九久久九九| 久久久久国产成人精品亚洲午夜| 亚洲欧美日韩国产综合| 亚洲综合日韩| 欧美影院成年免费版| 久久狠狠婷婷| 久久综合九色九九| 乱中年女人伦av一区二区| 久久女同精品一区二区| 麻豆精品在线播放| 欧美xart系列高清| 亚洲福利免费| 日韩午夜剧场| 亚洲永久免费| 欧美在线一二三| 鲁大师成人一区二区三区| 你懂的视频欧美| 欧美美女bbbb| 国产精品亚洲人在线观看| 国产日韩av高清| 在线精品观看| 亚洲视频免费看| 欧美一区视频| 欧美国产在线观看| 亚洲裸体俱乐部裸体舞表演av| 一区二区三区精品视频| 亚洲欧美精品在线| 久久亚洲影院| 欧美午夜精品一区| 国产亚洲人成a一在线v站| 最新精品在线| 香港久久久电影| 欧美成人免费播放| 亚洲视频一区| 久久这里只有| 国产精品毛片a∨一区二区三区|国| 国产亚洲欧美日韩日本| 亚洲卡通欧美制服中文| 欧美中文在线观看| 欧美国产日韩一区二区在线观看 | 亚洲区在线播放| 亚洲一区激情| 欧美大片在线观看| 国产日韩欧美精品在线| 日韩午夜免费视频| 久久久久久久综合色一本| 亚洲人午夜精品免费| 久久gogo国模啪啪人体图| 欧美日韩精品欧美日韩精品一| 国产综合色产在线精品| 这里只有精品丝袜| 免费视频一区| 午夜精品视频在线观看一区二区| 欧美激情1区2区| **欧美日韩vr在线| 欧美一级专区免费大片| 亚洲人成网站777色婷婷| 久久激情婷婷| 国产一区二区日韩精品欧美精品| 国产精品99久久久久久久久| 欧美激情亚洲| 久久久午夜电影| 国产亚洲一区精品|