2013-01-24 59 views
0

我可以找到很多关于在图像中添加水印的线程和博客,但所有这些都使用GDI +,在winrt中,它无法工作。任何人都知道如何在Windows 8应用程序中添加水印图像?在windows8中在图像上添加水印

+0

可能的重复[如何将水印文本添加到位图在WinRT?](http://stackoverflow.com/questions/14352717/how-do-i-add-watermark-text-to-a-bitmap -in-winrt) –

回答

1

这得到了那份工作视觉完成:

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

同这里的答案:https://stackoverflow.com/a/14509282/265706

+0

但是如何保存水印添加图像? – James

+0

阅读答案,这是不可能的。划痕,这是可能的,但它需要你用C++编写它。目前在C#/ WinRT中是不可能的。 –

+0

这是真的吗?我注意到,在windows手机商店中有些应用程序可以做像抠键(绿屏)这样的东西,我假设它是一个类似的概念。是那些仅适用于silverlight的应用程序,或者现在有一种方法可以在手机8.1 rt中将另一个图像叠加在另一个上面? – SelAromDotNet

0

正如你提到的,微软在新的API,这是常用的类似任务删除的图形,命名空间那。 有一个新的slim命名空间:Windows.Graphics.Imaging

在这个命名空间是类,你可以用它来手动完成你的任务。 “手动”我的意思是,你必须使用单个像素字节并与他们一起计算。在互联网和维基百科上有足够的代码片段和公式。

所以,你从Windows.Graphics.Imaging-Namespace需要有以下的类:

  • BitmapDecoder(GetPixelDataAsync())
  • 的BitmapEncoder(SetPixelData())
  • BitmapTransform
  • PixelDataProvider

我已经使用上述类在vb.net中完成此任务,因为您可以Ë这里: http://apps.microsoft.com/windows/app/watermark/6e649cd2-4711-409b-adf5-170e61aeb79e

注: 我曾问在Windows开发人员中心替代图形命名空间,做这个任务。我收到了一位微软员工的回复,他说,Windows Store应用程序无法做到这一点,他只推荐使用Direct2D。 '。'

0

它看起来像Lumia Imaging SDK会让你这样做。我们用HTC设备进行了测试,结果表明它似乎支持来自其他制造商的Windows手机......

这是我写的关于使用SDK裁剪和混合(水印)照片的博客文章,它包括一个示例项目来查看代码的行动。

http://blog.falafel.com/crop-blend-watermark-photos-on-windows-phone-8-1-with-the-lumia-imaging-sdk/

我希望这是有帮助的!

编辑:我刚刚意识到你的问题是针对Windows,我们没有尝试这个与Windows,只有手机,但文档说明它适用于Windows 8.1设备,我将不得不测试这个,看看会发生什么!