如何在WinRT中向位图添加水印文本?

4
2个回答

0

这样做可以在视觉上完成工作:

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

不需要进行所有的工作,就能够获得相同的效果。如果你想要让水印成为原始图像的一部分,将其转移到一个服务中是目前唯一的选择。如果没有WriteableBitmap上的Render()方法,你就没有其他选择了。即使是XAML Toolkit也无法解决这个问题。这是一个常见的请求。

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

我希望如此。祝你好运。


我想要动态地完成所有操作,然后在内存中获取图像的副本。 - Emmie Lewis-Briggman

0

你可以将该文本渲染为png资源,并在位图上叠加它。除非文本需要是动态的 - 那么你需要使用DirectWrite。WinRT XAML Toolkit有一个扩展方法,你可以用它来将文本渲染到WriteableBitmap。


Filip是正确的。您可以使用预先准备好的静态PNG,然后使用WriteableBitmapEx Blit方法。 - Rene Schulte
很不幸,所有的都是动态的。 - Emmie Lewis-Briggman
那么,DirectWrite 就是你需要的。 - Filip Skakun
你能给我展示一个你所说的例子吗?我可以通过SharpDx来实现吗? - Emmie Lewis-Briggman
是的,您可以在SharpDx中使用DirectWrite。这里有一个示例:http://www.codeproject.com/Articles/513187/Paste-Date-Time-Stamp-While-Capturing-Image-in-Win - Filip Skakun
我稍后会尝试这个。如果有效,我会将其添加到您的答案并标记为正确。 - Emmie Lewis-Briggman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接