【问题标题】:Freeze visual brush? or any better idea?冻结视觉画笔?还是有更好的主意?
【发布时间】:2011-11-08 15:27:59
【问题描述】:

我想为我的 UI 创建一个拇指图片的分支,我尝试这样做:

RenderTargetBitmap renderer = new RenderTargetBitmap(WIDTH, HEIGHT, dpiX, dpiY,   PixelFormats.Pbgra32);
renderer.Render(vbox);
renderer.Freeze();

“vbox”是我的 UIElement,它是在后台线程中创建的,我需要将它渲染为位图以在主 UI 线程中显示它。完成位图渲染后,我不会在任何地方使用“vbox”。

这些代码有效,但后来我发现我对此并不满意,因为如果我放大拇指图片的大小,它看起来很糟糕。

我希望我可以使用矢量图形之类的东西,所以我尝试这样做:

        var visualBrush = new VisualBrush(vbox);
        visualBrush.Stretch = Stretch.Uniform;
        visualBrush.Freeze();

当然这不起作用,因为我无法冻结视觉画笔,因为它的 Visual 属性分配了除 Null 以外的任何值。

谁能帮帮我?非常感谢。

干杯

亚历克斯

【问题讨论】:

    标签: wpf visualbrush rendertargetbitmap


    【解决方案1】:

    您可以使用(反)序列化来创建 VisualBrush 的单独副本。见this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 2014-02-13
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      相关资源
      最近更新 更多