2009-12-28 78 views
1

我需要用圆形来显示图像的质感,我的代码如下如何剪辑圆形纹理

texture = Texture.FromBitmap(device,myBitmap, Usage.RenderTarget, Pool.Default); 

_sprite.Begin(SpriteFlags.SortTexture | SpriteFlags.DoNotModifyRenderState); _sprite.Draw(_allocator.Texture,Vector3.Empty,new Vector3(_objectLocation.X,_objectLocation.Y,0),RenderingColor); _sprite.End();

但它总是显示矩形纹理,如何可以将这个纹理剪成圆形。

回答

1

使用纹理的alpha通道(255是不透明的,0是透明的以及2之间的任何东西),并设置alpha混合和alpha测试来不绘制透明像素。

编辑:(尝试这些阿尔法设置,一旦你有你的4通道纹理设置)。

ALPHABLENDENABLE = TRUE 
SRCBLEND = SRCALPHA 
DESTBLEND = INVSRCALPHA 

ALPHATESTENABLE = TRUE 
ALPHAREF = 192 
ALPHAFUNC = GREATER