问题描述
我想通过遮罩绘制图片,并使用此 APIFillOpacityMask(Bitmap opacityMask,Brush Brush,OpacityMaskContent content,RawRectangleF? destinationRectangle,RawRectangleF? sourceRectangle); 然后,发生了一些奇怪的事情。如果我使用 FillOpacityMask(opacityMask,brush,content),它可以工作并且我在左上角得到一张正确的图片,就像这张图片。但是,当我使用FillOpacityMask(opacityMask,content,destinationRectangle,sourceRectangle)时,它无法工作,只能在左侧或顶部绘制,其中红色框the description picture 这是我的代码的一部分
public void DrawTexture2DWithMask(
ITexture2D texture2D,RectangleF destRectangle,ITexture2D maskTexture2D,RectangleF sourceRectangle
)
{
SharpDX.Direct2D1.OpacityMaskContent content = SharpDX.Direct2D1.OpacityMaskContent.TextNatural;
Direct2DTexture2D Texture2D = texture2D as Direct2DTexture2D;
Direct2DTexture2D MaskTexture2D = maskTexture2D as Direct2DTexture2D;
rendertargetPrivate.AntialiasMode = SharpDX.Direct2D1.AntialiasMode.Aliased;
var brush = new SharpDX.Direct2D1.BitmapBrush(rendertargetPrivate,Texture2D.Texture2D);
brush.InterpolationMode = SharpDX.Direct2D1.BitmapInterpolationMode.Linear;
rendertargetPrivate.FillOpacityMask(
MaskTexture2D.Texture2D,content
//,destRectangle.ToRawRectangleF(),//sourceRectangle.ToRawRectangleF()
);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)