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

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>
            亚洲国产欧美日韩精品| 国产一区二区三区不卡在线观看| 永久免费精品影视网站| 欧美成人精品1314www| 久久综合伊人77777| 亚洲精品少妇30p| 亚洲一区二区三区在线看| 好吊成人免视频| 亚洲激情在线视频| 国产自产女人91一区在线观看| 欧美国产视频日韩| 国产毛片一区| 亚洲精品日本| 99av国产精品欲麻豆| 欧美中文字幕久久| 亚洲欧美视频在线观看视频| 麻豆成人在线| 欧美aⅴ99久久黑人专区| 国产精品自拍一区| 亚洲一二区在线| 亚洲欧美电影在线观看| 欧美日韩综合在线免费观看| 欧美成人中文| 亚洲国产裸拍裸体视频在线观看乱了| 一区二区三区精品国产| 亚洲一区日本| 国产欧亚日韩视频| 性欧美1819sex性高清| 久久国产天堂福利天堂| 国产精品视频免费一区| 亚洲影音先锋| 久久午夜av| 亚洲精品久久| 国产精品ⅴa在线观看h| 亚洲欧美网站| 欧美激情小视频| 中国女人久久久| 国产深夜精品| 欧美精品激情在线观看| 午夜伦欧美伦电影理论片| 麻豆九一精品爱看视频在线观看免费| 红桃视频国产精品| 欧美日本韩国一区| 欧美影院在线| 中日韩美女免费视频网站在线观看| 午夜精品久久久久久久蜜桃app | 国产精品久在线观看| 久久久精品日韩欧美| 一区二区三区免费网站| 麻豆国产精品777777在线 | 亚洲香蕉成视频在线观看| 久久精品国产亚洲一区二区| 亚洲日本无吗高清不卡| 国产日韩精品一区二区三区在线| 欧美精品大片| 免费成人黄色av| 久久久亚洲成人| 久久婷婷久久| 狼人天天伊人久久| 久久免费一区| 久久久www| 欧美 日韩 国产一区二区在线视频 | 国产精品vip| 欧美日韩国产一区| 欧美精选在线| 国产精品黄色在线观看| 国产精品www.| 国语自产在线不卡| 一区精品在线| 91久久极品少妇xxxxⅹ软件| 亚洲欧洲美洲综合色网| 亚洲精品日韩在线| 亚洲香蕉伊综合在人在线视看| 制服诱惑一区二区| 久久久蜜桃精品| 亚洲日韩第九十九页| 一区二区免费在线视频| 久久国产欧美| 欧美久久电影| 国产真实乱偷精品视频免| 日韩一级黄色片| 欧美一区二区三区啪啪| 亚洲成人在线视频播放 | 亚洲特黄一级片| 欧美成人午夜77777| 亚洲中字黄色| 国产精品jvid在线观看蜜臀| 亚洲二区在线| 久热精品视频在线免费观看| 99精品99| 亚洲一区二区三区午夜| 亚洲国内精品| 免费看精品久久片| 黄色综合网站| 久久久亚洲高清| 亚洲欧美激情视频| 国产欧美一区二区三区视频 | 久久av在线| 国产精品亚洲一区| 欧美亚洲一级片| 欧美一区二区三区免费大片| 国产精品一区二区三区四区| 亚洲一区二区三区久久| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美日韩国产黄| 夜夜嗨av一区二区三区中文字幕| 欧美激情一区在线观看| 裸体素人女欧美日韩| 亚洲人妖在线| 99视频精品在线| 国产亚洲欧美中文| 欧美成人免费网站| 欧美日韩免费观看一区二区三区| 亚洲香蕉在线观看| 性色av一区二区三区| 91久久久久久国产精品| 日韩亚洲欧美成人| 在线成人性视频| 一区二区欧美视频| 一区二区三区中文在线观看| 亚洲高清在线精品| 国产欧美91| 一本综合久久| 一本大道久久a久久综合婷婷| 亚洲男人第一av网站| 99在线热播精品免费| 久久先锋影音| 久久久久综合网| 国产农村妇女毛片精品久久莱园子| 米奇777超碰欧美日韩亚洲| 国产精品久久久久久久久久久久久 | 一区二区精品在线观看| 精品av久久707| 欧美成熟视频| 国产精品久久久久久av福利软件| 久热精品在线| 国产综合视频在线观看| 亚洲制服欧美中文字幕中文字幕| 亚洲日本激情| 久久久久久一区二区| 久久精品日产第一区二区| 国产精品专区第二| 午夜精品在线视频| 久久夜色精品国产亚洲aⅴ| 韩日欧美一区二区| 欧美jizzhd精品欧美喷水 | 亚洲卡通欧美制服中文| 亚洲精品美女在线| 欧美精品在线看| 欧美少妇一区| 亚洲黄色免费| 一区二区三区三区在线| 久久综合色88| 在线看片日韩| 欧美色区777第一页| 久久成人18免费观看| 亚洲国产成人91精品| 亚洲一级在线| 影音先锋亚洲一区| 欧美日韩午夜激情| 久久激情一区| 亚洲深夜影院| 欧美国产乱视频| 性欧美8khd高清极品| …久久精品99久久香蕉国产| 欧美精品一区二区视频| 欧美专区亚洲专区| 亚洲欧美怡红院| 欧美激情偷拍| 欧美大片免费观看在线观看网站推荐| 亚洲国产天堂久久综合| 国产精品久久久一区二区三区| 免费观看亚洲视频大全| 欧美亚洲免费在线| 欧美国产1区2区| 欧美成人综合在线| 久久激情综合网| 欧美一区二区精品| 亚洲一区bb| 欧美一区二区三区视频免费播放| 亚洲欧美资源在线| 亚洲一区二区三区免费视频| 99热免费精品| 亚洲欧美国产精品va在线观看| 日韩一区二区免费看| 国内精品国语自产拍在线观看| 久久视频一区二区| 亚洲欧美一区二区三区久久| 一区二区免费在线播放| 日韩午夜激情电影| 亚洲午夜精品17c| 午夜在线一区二区| 欧美一区二区三区视频| 久久婷婷激情| 欧美三区在线观看| 国产精品影音先锋| 一区国产精品| 亚洲欧美视频在线观看| 欧美国产大片| 亚洲一区二区免费视频|