小编Aj_*_*994的帖子

RenderTargetBitmap总是消除锯齿我的DrawingVisual

我必须将TextBox中的文本呈现为WriteableBitmap.此代码运行良好,但其中的文本模糊或消除锯齿.关于如何保持别名和清晰的任何想法?

text = new FormattedText(tb.Text,
            new CultureInfo("de-de"),
            FlowDirection.LeftToRight,
            new Typeface(tb.FontFamily, FontStyles.Normal, tb.FontWeight, new FontStretch()),
            tb.FontSize,
            tb.Foreground);


            drawingContext = dv.RenderOpen();
            drawingContext.DrawText(text, Pos);
            drawingContext.Close();


            rtb.Render(dv);
            rtb.CopyPixels(new Int32Rect(0, 0, rtb.PixelWidth, rtb.PixelHeight), wb.BackBuffer, wb.BackBufferStride * wb.PixelHeight, wb.BackBufferStride);
Run Code Online (Sandbox Code Playgroud)

我发现的不起作用:

TextOptions.SetTextFormattingMode(dv, TextFormattingMode.Display);
TextOptions.SetTextRenderingMode(dv, TextRenderingMode.Aliased);
Run Code Online (Sandbox Code Playgroud)

要么

RenderOptions.SetBitmapScalingMode(dv, BitmapScalingMode.NearestNeighbor);
RenderOptions.SetEdgeMode(dv, EdgeMode.Aliased);
Run Code Online (Sandbox Code Playgroud)

writeablebitmap formatted-text rendertargetbitmap drawingvisual

6
推荐指数
0
解决办法
502
查看次数