C# WPF中的位图

C# WPF中的位图,c#,wpf,bitmap,C#,Wpf,Bitmap,我正在做一个项目,我需要玩两个位图。我把它们放在一个网格中,一个放在另一个网格上,降低不透明度(以提供水印效果)。 我正在使用RenderTargetBitmap将网格渲染为位图,并将位图保存到文件中。 现在,我的要求是再次加载渲染的位图并分别恢复原始图片。有没有办法再次恢复原始图像。我想不出任何算法来实现这一点。 我的目标是提供水印效果,然后分别恢复图像 欢迎所有建议。谢谢。你为什么不试着把它做成两层位图呢 否。信息在图像“展平”过程中丢失 您需要将图像及其属性(位置、不透明度)的信息保存到单

我正在做一个项目,我需要玩两个位图。我把它们放在一个网格中,一个放在另一个网格上,降低不透明度(以提供水印效果)。 我正在使用RenderTargetBitmap将网格渲染为位图,并将位图保存到文件中。
现在,我的要求是再次加载渲染的位图并分别恢复原始图片。有没有办法再次恢复原始图像。我想不出任何算法来实现这一点。
我的目标是提供水印效果,然后分别恢复图像

欢迎所有建议。谢谢。

你为什么不试着把它做成两层位图呢

否。信息在图像“展平”过程中丢失


您需要将图像及其属性(位置、不透明度)的信息保存到单个文件中。并在加载时还原。

我想知道您是否可以使用TIFF格式,您可以在其中存储多个图像。通过这种方式,您可以选择在显示时使用/不使用水印

如果您的目标是模拟水印并允许以后的“去水印”,那么假设您在解码时有水印位图,您可能可以这样做。当然你不能使用你最初的方法-仅仅简单的合并两层是不可逆的

您需要使用一些可逆变换,例如旋转源图像像素RGB值向量,使用水印图像像素RGB值作为参数。当去除水印时,只需使用水印图像中的负值

嗯,RGB矢量并不理想-旋转它时,你可以离开RGB空间。也许您可以找到更适合您的目标的颜色空间(或RGB空间中的其他变换)


(英语不是我的第一语言,甚至不是第二语言,因此,如果你不理解我的想法,我很抱歉-请过问。)

也许你应该粘贴一些代码。所以你需要给图像加上水印,然后再对其加上dewatermark吗?@崔鹏飞:-是的,一种水印和dewatermark@soner:-问题不在于代码,而在于概念。只要给我建议一些算法来完成水印和去水印。我只是觉得你可以把你的无水印图像保存在你的磁盘上。当图像需要曝光时,动态地给它加上水印。-事实上,情况与你所说的相反。我有一个带水印的图像,我必须动态显示原始图像。这是一个有趣的想法。:)我们可以得到水印区域。从源图像中剪切同一区域,并粘贴到带水印的位图。由于您同时拥有源位图和带水印的位图,所以去除水印不是一个容易的算法,而且成本很高。水印很容易添加,但不容易去除。只是我的想法。是的,这就是为什么我请你们建议我其他方法来完成水印,然后再去标记。-你们的英语足够好了。但我仍然想知道我是否可以通过使用RGB值来实现干净的水印效果,比如旋转和所有。你不能实现干净的效果-水印的想法只是以一种不可逆的方式改变图像。顺便说一句,你为什么不能把原始位图保存到某个地方?你的原创帖子暗示你有原创作品。完整的想法是假设我有一张我不想让别人看到的图片。我想使用多重水印来实现这一点,即使用多层水印使原始图像无法识别,并最终使用密码检索原始图像。