相关疑难解决方法(0)

什么时候应该在WPF 4.0中使用SnapsToDevicePixels?

任何人都可以建议何时SnapsToDevicePixels在WPF 4.0中使用?

它是否应该仅在有问题的情况下偶尔使用,在整个应用程序中,只在某些控件或什么?

.net wpf snapstodevicepixels

56
推荐指数
3
解决办法
3万
查看次数

WPF:如果我对父项使用drophadow效果,为什么文本和元素会模糊

如果我DropShadowEffect向父元素添加一个子元素的文本是模糊的.为什么?

<Grid>
    <Grid.Effect>
        <DropShadowEffect />
    </Grid.Effect>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
    </Grid.RowDefinitions>
    <TextBlock Background="White">Test</TextBlock>
</Grid>
Run Code Online (Sandbox Code Playgroud)

更新:

与阴影

在此输入图像描述

没影子

在此输入图像描述

wpf xaml blur dropshadow

21
推荐指数
2
解决办法
1万
查看次数

绘制有向非循环图:最小化边缘交叉?

以树形式在DAG中布置顶点(即顶部没有内边的顶点,顶点仅依赖于下一层上的顶点等)是相当简单的,没有图形绘制算法,如Efficient Sugiyama.但是,是否有一个简单的算法可以最大限度地减少边缘交叉?(对于某些图形,可能无法完全消除边缘交叉.)图片说千言万语,所以有一种算法可以提示没有交叉边缘的东西.(与此相比).

编辑:结果

我已经接受了Senthil的建议graphviz/dot - 快速浏览文档确认它很容易用作库或外部工具,并且输出格式非常容易解析.但是,我最终选择使用GraphSharp,因为我已经在使用.NET等(虽然它绝对没有dot那么强大).结果是"足够好",并且通过一点边缘路由和调整可以做得更好(模糊文本是因为3.5 WPF).

自动布局图http://public.blu.livefilestore.com/y1pEY8I95GtlzcxZzhDMhhKoUyejT_sVVZ4jlsDK2fdl6XAR4WV4-yuSesY6chXokmAZxdJXZ4Bv674TqwpT1-fOg/dag3.gif

这是完整的 C#代码(这是引用QuickGraph或GraphSharp的所有代码 - 是的;就这么简单):

internal static class LayoutManager
{
    private const string ALGORITHM_NAME = "EfficientSugiyama";
    private const bool MINIMIZE_EDGE_LENGTH = true;
    private const double VERTEX_DISTANCE = 25;
    private const double LAYER_DISTANCE = 25;
    private const double MIN_CANVAS_OFFSET = 20;

    public static void doLayout(GraphCanvas canvas)
    {
        // TODO use a background thread
        // TODO add comments
        canvas.IsEnabled = false;
        canvas.Cursor …
Run Code Online (Sandbox Code Playgroud)

c# algorithm wpf graph graph-drawing

15
推荐指数
2
解决办法
8780
查看次数

为什么WPF中的所有内容都模糊不清?

有人可以解释为什么WPF中的一切都模糊了吗?这是可以修复的吗?

wpf clarity

13
推荐指数
2
解决办法
4786
查看次数

WPF抗锯齿解决方法

无法在WPF中关闭抗锯齿功能.但我希望在它们很小的时候删除WPF字体的模糊外观.

一种可能性是使用.net 2.0组件.这看起来会失去透明度和Blend支持.从来没有尝试过.

有人有解决方案吗?有什么缺点吗?

谢谢

.net wpf

10
推荐指数
2
解决办法
1万
查看次数

文本渲染仍然模糊:WPF应用程序的最佳字体?

我知道这是一个非常主观的问题,但由于WPF中的文本呈现仍然是一个问题,我必须充分利用它.

在WPF应用程序中,文本往往变得模糊,这不是什么秘密.还有关于这个主题的无数网站以及你如何解决这个问题.但我想知道......文字模糊似乎比其他人更多地影响某些字体.所以我仍然在寻找最好的字体来解决这个问题.

到目前为止,我仍在使用Arial,看起来不太好.但我相信其他一些字体更适合手头的任务.

wpf textrenderer

8
推荐指数
1
解决办法
5853
查看次数

WPF - 多行TextBox文本在输入长文本时变得模糊

我有一个在键入时垂直增长的文本框.不幸的是,当我输入一个长文本(例如一个3行文本)时,它的某些部分变得模糊.更重要的是,当我阻止它垂直生长并使其水平生长时,它工作得很好 - 文本很清晰.

我尝试过的:

UseLayoutRounding = true;
RenderOptions.TextRenderingMode = "ClearType";
Run Code Online (Sandbox Code Playgroud)

请忘了

TextOptions.TextFormattingMode = "Display"
Run Code Online (Sandbox Code Playgroud)

它必须是"理想的".

查看截图:

在此输入图像描述 在此输入图像描述

c# wpf textbox blurry

8
推荐指数
1
解决办法
563
查看次数

如何使用WPF效果模仿OuterGlowBitmapEffect?

我尝试使用 DropShadowEffect,但当您增加 BlurRadius 时,它的“发光”强度会减弱。我想要像下图一样具有强烈的外发光。

在此输入图像描述

如果我将相同的效果叠加十几次,我就能得到这个,但此后性能就会下降。使用 WPF 可以实现单一效果吗?

.net c# wpf effects glow

8
推荐指数
1
解决办法
796
查看次数

使用RenderTransform时如何防止文本像素化?

当我使用RenderTransform属性并向上扩展RichTextBox时,我获得了像素化的放大文本(方形文本边缘).

我怎么能阻止这个? 在此输入图像描述

编辑:

我有TextOptions.TextFormattingMode ="显示" - 当我删除此选项时一切都很好!

c# wpf graphics richtextbox rendertransform

6
推荐指数
1
解决办法
978
查看次数

WPF字体质量

我正在开发一个WPF应用程序,但我注意到在某些字体大小的情况下,文本的渲染效果不如您在控制面板 - >字体中看到的样本.我正在使用大型Segoe UI字体(FontSize="36"),并且在直立线上效果更明显,例如字母"U"可能在一侧比另一侧稍厚.).

字体质量在某些字体大小FontSize="48"上有所改善,例如(我认为相当于36pt),但使用有限数量的字体大小并不总是实用的.

我可以通过将以下属性应用于TextBlock来提高字体质量: -

TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType"
Run Code Online (Sandbox Code Playgroud)

鉴于质量的提高,我很想知道为什么WPF不会为所有文本执行此操作,还是归结为性能?我正在考虑创建一个全局样式以将其应用于所有控件,或者这会导致问题吗?

(我尝试上传截图,但SO必须以低质量存储图像,而你无法确定字体问题).

wpf fonts font-size

5
推荐指数
1
解决办法
4896
查看次数

SnapsToDevicePixels似乎在StackPanel中不起作用

我在StackPanel中有更多的扩展器(Orientation = Vertical).当我扩展一个时,扩展的一个下面的其他人似乎是模糊的.就像它SnapsToDevicePixels = False一样.

我认为问题可能在StackPanel中,因为它不支持.NET 3.5(我使用)中的UseLayoutRounding.这可能或问题可能在其他地方吗?

我几乎到处都把SnapsToDevicePixels ="True",但没有改变.

(字体大小为12因此它不能[1]:WPF模糊字体问题 - 解决方案)

wpf blurry stackpanel snapstodevicepixels .net-3.5

3
推荐指数
1
解决办法
1141
查看次数

如何在 C# 中绘制高质量的旋转字符串?

我想绘制一个字符串并以自定义角度旋转它。简单地说,我计算包含旋转图像的区域的新尺寸,然后创建一个位图对象,并通过它的图形对象,我绘制一个具有 3 次变换(平移到中心、旋转和反向平移)的字符串。我编写了以下代码,但质量不理想。有没有人有想法?

    private Image RotateText(string Text, int FontSize, float Angle)
    {

        //Modify angle
        Angle *= -1;

        //Calculate rotation angle in radian
        double AngleInRadian = (Angle * 2 * Math.PI) / 360d;

        //Instantiate a font for text
        Font TextFont = new Font("Tahoma", FontSize, FontStyle.Bold);

        //Measure size of the text
        Graphics Graphic = this.CreateGraphics();
        SizeF TextSize = Graphic.MeasureString(Text, TextFont);

        //Calculate size of the rotated text
        double NewWidth  = Math.Abs(TextSize.Width * Math.Cos(AngleInRadian)) + Math.Abs(TextSize.Height * Math.Sin(AngleInRadian));
        double NewHeight = Math.Abs(TextSize.Width * Math.Sin(AngleInRadian)) …
Run Code Online (Sandbox Code Playgroud)

c# graphics user-controls

0
推荐指数
1
解决办法
2703
查看次数