繁体   English   中英

捕捉到RenderTargetBitmap中的像素

[英]Snaps to pixel in RenderTargetBitmap

我编写以下代码以在RenderTargetBitmap中绘制文本:

        DrawingVisual drawingVisual = new DrawingVisual();

        using (DrawingContext drawingContext = drawingVisual.RenderOpen())
        {
            drawingContext.DrawText(new FormattedText("yes", CultureInfo.GetCultureInfo("en-us"),
                FlowDirection.LeftToRight, new Typeface("Times New Roman"),
                30, Brushes.Red), new Point(10, 10));
        }

        RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32);

        renderTargetBitmap.Render(drawingVisual);

        image1.Source = renderTargetBitmap;//image1 is an Image control

结果是:

在此处输入图片说明

如何消除这种模糊效果? 此效果来自RenderTargetBitmap,而不是来自Image控件。

您可以使用DrawingImage代替RenderTargetBitmap

var drawingGroup = new DrawingGroup();
using (var drawingContext = drawingGroup.Open())
{
    drawingContext.DrawText(
        new FormattedText("yes", 
            CultureInfo.GetCultureInfo("en-us"), 
            FlowDirection.LeftToRight, 
            new Typeface("Times New Roman"), 
            30, 
            Brushes.Red),
        new Point(10, 10));
}
image1.Source = new DrawingImage(drawingGroup);

您需要创建DrawingGroup并从此处打开DrawingContext

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM