2009-12-28 69 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