【问题标题】:How do I add watermark text to a bitmap in WinRT?如何在 WinRT 中将水印文本添加到位图中?
【发布时间】:2013-01-16 06:45:11
【问题描述】:

我想做这样的事情http://weblogs.asp.net/broux/archive/2011/02/08/silverlight-how-to-watermark-a-writeablebitmapimage-with-a-text.aspx。我很难让它在 WinRT 中工作。我正在使用 WriteableBitmap 扩展来“渲染”一些文本,但我希望它看起来与本示例中的外观完全相同。有什么建议或帮助吗?

【问题讨论】:

    标签: c# windows-runtime writeablebitmap writeablebitmapex


    【解决方案1】:

    您可以将该文本渲染为 png 资源,并将其放在位图之上。除非文本需要是动态的——那么你就需要 DirectWrite。 WinRT XAML Toolkit 有一个扩展方法,可用于将文本呈现到 WriteableBitmap。

    【讨论】:

    • 菲利普是对的。您可以使用之前准备好的静态 PNG,然后使用 WriteableBitmapEx Blit 方法。
    • 不幸的是,这一切都是动态的。
    • 那么 DirectWrite 就是您所需要的。
    • 你能给我举个例子吗?我可以通过 SharpDx 做到这一点吗?
    • 是的,您可以将 DirectWrite 与 SharpDx 一起使用。这里有一个例子:codeproject.com/Articles/513187/…
    【解决方案2】:

    这可以直观地完成工作:

    <Grid>
        <Image Source="{Binding MyImage}" />
        <Image Source="{Binding MyWatermark}" />
    </Grid>
    

    没有所有的工作肯定是一样的效果。如果您想让它从字面上使水印成为原始图像的一部分,则卸载到服务是您当前唯一的选择。如果没有 Render() 上的 Render() 方法,您将没有其他选择。甚至 XAML 工具包也不能解决这个问题。这是一个常见的要求。

    但根据您的用例,这可能正是您想要的!

    我希望是的。祝你好运。

    【讨论】:

    • 我想动态地完成所有这些,然后在内存中获取图像的副本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    相关资源
    最近更新 更多