【问题标题】:How to draw string to a bitmap image in WinRT如何在 WinRT 中将字符串绘制到位图图像
【发布时间】:2012-12-22 18:29:45
【问题描述】:

如何为winRT 中的图像绘制字符串?在 WinForms 中,可以使用 drawstring() 命名空间内的 drawstring() 方法完成,但我在 WinRT API 中找不到它的等价物。

【问题讨论】:

    标签: c# image windows-runtime winrt-xaml winjs


    【解决方案1】:

    在 Windows 8.1 中,它们最终支持将 XAML 控件呈现为位图。现在你可以使用

    var renderTargetBitmap = new RenderTargetBitmap();
    await renderTargetBitmap.RenderAsync(uiElement, width, height));
    var buffer = await renderTargetBitmap.GetPixelsAsync();
    var tmpWbm = new WriteableBitmap(renderTargetBitmap.PixelWidth, renderTargetBitmap.PixelHeight);
    

    【讨论】:

      【解决方案2】:

      您必须使用 DirectX。您可以使用 SharpDx 在 C# 中执行此操作。

      【讨论】:

        【解决方案3】:

        Direct2D 是 WinRT 中 GDI 的替代品。所以你必须使用 C++/CX 和 DirectX 来绘制文本。

        我没有任何示例可供您参考,但也许this link(以及包含的链接)可以帮助您。

        【讨论】:

        • @fire'fly 我知道,但不幸的是,目前还不可能。但至少有一个 WinRT 的解决方案,一般来说,使用 Direct2D。
        • 所以现在我们不能在没有 C++ 的情况下绘制一些文本!微软干得好!
        【解决方案4】:

        你不能 - 不幸的是没有这样的 API :-(

        【讨论】:

          【解决方案5】:

          Google 用于“使用 Direct2D 和 DirectWrite 进行图形的 Metro CSharp”。这是他们的代码示例之一。这不是我见过的最简洁的例子,但它确实有效。使用 SharpDX 做同样的事情会更干净。

          【讨论】:

          • 如果你也解释了你的发现,那就太好了
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多