C#对不可见的水印的图片或文字的的提取

问题描述

对图片进行水印加密(图片或文字),加密后不可见,已经加密成功了,可是我要如何提取出来??求大侠指导

解决方案

解决方案二:
你都会加密了,不会提取?从你的这个描述,谁能看出你是怎么加密的呢?
解决方案三:
///<summary>///加图片水印///</summary>///<paramname="img">要加水印的原图(System.Drawing)</param>///<paramname="filename">文件名</param>///<paramname="watermarkFilename">水印文件名</param>///<paramname="watermarkStatus">图片水印位置1=左上2=中上3=右上4=左中5=中中6=右中7=左下8=右中9=右下</param>///<paramname="quality">加水印后的质量0~100,数字越大质量越高</param>///<paramname="watermarkTransparency">水印图片的透明度1~10,数字越小越透明,10为不透明</param>publicstaticImageImageWaterMarkPic(Imageimg,stringfilename,stringwatermarkFilename,intwatermarkStatus,intquality,intwatermarkTransparency){Graphicsg=Graphics.FromImage(img);//设置高质量插值法//g.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.High;//设置高质量,低速度呈现平滑程度//g.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;Imagewatermark=newBitmap(watermarkFilename);//如果水印的图片比原图片大,则退出//if(watermark.Height>=img.Height||watermark.Width>=img.Width)//{//returnimg;//}ImageAttributesimageAttributes=newImageAttributes();ColorMapcolorMap=newColorMap();colorMap.OldColor=System.Drawing.Color.FromArgb(255,0,255,0);colorMap.NewColor=System.Drawing.Color.FromArgb(0,0,0,0);ColorMap[]remapTable={colorMap};imageAttributes.SetRemapTable(remapTable,ColorAdjustType.Bitmap);//设置透明度floattransparency=0.5F;if(watermarkTransparency>=1&&watermarkTransparency<=10)transparency=(watermarkTransparency/10.0F);float[][]colorMatrixElements={newfloat[]{1.0f,0.0f,0.0f,0.0f,0.0f},newfloat[]{0.0f,1.0f,0.0f,0.0f,0.0f},newfloat[]{0.0f,0.0f,1.0f,0.0f,0.0f},newfloat[]{0.0f,0.0f,0.0f,transparency,0.0f},newfloat[]{0.0f,0.0f,0.0f,0.0f,1.0f}};ColorMatrixcolorMatrix=newColorMatrix(colorMatrixElements);imageAttributes.SetColorMatrix(colorMatrix,ColorMatrixFlag.Default,ColorAdjustType.Bitmap);intxpos=0;intypos=0;switch(watermarkStatus){case1:xpos=(int)(img.Width*(float).01);ypos=(int)(img.Height*(float).01);break;case2:xpos=(int)((img.Width*(float).50)-(watermark.Width/2));ypos=(int)(img.Height*(float).01);break;case3:xpos=(int)((img.Width*(float).99)-(watermark.Width));ypos=(int)(img.Height*(float).01);break;case4:xpos=(int)(img.Width*(float).01);ypos=(int)((img.Height*(float).50)-(watermark.Height/2));break;case5:xpos=(int)((img.Width*(float).50)-(watermark.Width/2));ypos=(int)((img.Height*(float).50)-(watermark.Height/2));break;case6:xpos=(int)((img.Width*(float).99)-(watermark.Width));ypos=(int)((img.Height*(float).50)-(watermark.Height/2));break;case7:xpos=(int)(img.Width*(float).01);ypos=(int)((img.Height*(float).99)-watermark.Height);break;case8:xpos=(int)((img.Width*(float).50)-(watermark.Width/2));ypos=(int)((img.Height*(float).99)-watermark.Height);break;case9:xpos=(int)((img.Width*(float).99)-(watermark.Width));ypos=(int)((img.Height*(float).99)-watermark.Height);break;}g.DrawImage(watermark,newRectangle(xpos,ypos,watermark.Width,watermark.Height),0,0,watermark.Width,watermark.Height,GraphicsUnit.Pixel,imageAttributes);ImageCodecInfo[]codecs=ImageCodecInfo.GetImageEncoders();ImageCodecInfoici=null;foreach(ImageCodecInfocodecincodecs){if(codec.MimeType.IndexOf("jpeg")>-1)ici=codec;}EncoderParametersencoderParams=newEncoderParameters();long[]qualityParam=newlong[1];if(quality<0||quality>100)quality=80;qualityParam[0]=quality;EncoderParameterencoderParam=newEncoderParameter(System.Drawing.Imaging.Encoder.Quality,qualityParam);encoderParams.Param[0]=encoderParam;if(ici!=null)img.Save(filename,ici,encoderParams);elseimg.Save(filename);returnimg;g.Dispose();img.Dispose();watermark.Dispose();imageAttributes.Dispose();}

这个就是水印的代码,也不是我自己写的,网络上找的
解决方案四:
你这哪是什么加密,完全就只是加了一个水印而已加了水印然后保存成jpeg的格式,然后呢?你保存出来的就是一个image啊你是说这个image打不开?还是去除这个image中的水印?
解决方案五:
image可以正常打开,我现在是要从image中提取出我水印的图片,这个我不会
解决方案六:
引用4楼u010289468的回复:

image可以正常打开,我现在是要从image中提取出我水印的图片,这个我不会

哦,这个我也不会。。。
解决方案七:
网络上找了很多,都没找到可以用的。求大侠现身指导
解决方案八:
给你个思路,不知道可行不可行呀。你查看某种类型的图片的构成,比如jpeg,查看它的格式定义中有没有预留字段。然后你把你的信息写到图片的预留字段中。当然,前提是你要存的信息比较少,另外,这个图片是内部流转的。
解决方案九:
说的啥东西啊。。。

时间: 2024-10-26 05:24:03

C#对不可见的水印的图片或文字的的提取的相关文章

php给图片加文字水印_php技巧

注释非常的详细了,这里就不多废话了 <?php /*给图片加文字水印的方法*/ $dst_path = 'yun_qi_img/1166351597fe111154l.jpg'; $dst = imagecreatefromstring(file_get_contents($dst_path)); /*imagecreatefromstring()--从字符串中的图像流新建一个图像,返回一个图像标示符,其表达了从给定字符串得来的图像 图像格式将自动监测,只要php支持jpeg,png,gif,w

图片加水印-C#图片以流的形式加水印

问题描述 C#图片以流的形式加水印 用流读取的图片,我在上面加了文字水印. 但是我要怎么控制水印的位置,比如说我要加到右下角.应该怎么算坐标?(同一个坐标 .jpg格式跟tif格式位置不一样.)下面是我的代码: /// /// 图片加水印 /// /// 图片路径 /// 字体 /// 字体大小 /// 水印位置 /// 水印文字 /// 存储图片的文件夹 public void AddWaterText(string oldPath,string font,int fontSize,strin

PHP图片水印函数:支持以图片和文字方式添加水印

今天是六一儿童节,嘿嘿,和大家分享下在PHP网站开发中经常用到的给图片添加水印的函数源码,由David编写,亲自测试通过,支持以图片和文字两种方式给图片添加水印.图片支持GIF,PNG,JPG三种格式,水印图片支持PNG和GIF.闲话少说,贴出我的PHP图片水印函数. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162

java图片处理类(图片水印,图片缩放)

可实现以下常用功能:缩放图像.切割图像.图像类型转换.彩色转黑白.文字水印.图片水印等  代码如下 复制代码 import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.

用Word2007为文档添加文字水印和图片水印

一.用Word2007为文档添加文字水印 在word 2007中打开需要添加水印的文档.在"页面布局"菜单下选择"水印",我们可以看到word 2007为我们提供了一些水印.我们可以直接选择这些现成的水印,当然我们也可以做自己心仪的水印. 点击"自定义水印",即弹出如图1的对话框.我们选择"文字水印"就可以制作出自己想要的水印了. 在"语言"菜单中选择水印的语言种别,"文字"菜单中选择水

aspjpeg 给图片加图片或文字加水印,生成缩略图代码实例

' 函数名:watermarkfont '作 用:给图片加文字水印 '参 数:imgurl 原图地址 ' fontcolor 文字颜色 ' fontfamily 文字字体 ' fontsize 文字字号 ' fontbold 文字是否加粗 ' fontposx 文字定位x ' fontposy 文字定位y ' font 文字内容 ' newimgurl 新图片输出地址交 '**************************************************** sub water

mage-怎么用java图片加文字水印ne

问题描述 怎么用java图片加文字水印ne 要一个完整的例子,传入的参数最好是 源文件 byte[] 文字内容 返回的是加水印之后的 byte[] 最好有注释,谢谢了 Exception in thread "main" sun.misc.ServiceConfigurationError: javax.imageio.spi.ImageReaderSpi: Provider it.geosolutions.imageio.stream.input.spi.FileImageInput

c# 文字水印阴影-C# 生成文字水印在图片上

问题描述 C# 生成文字水印在图片上 CS代码: public class CreatShui { public CreatShui() { // // TODO: Add constructor logic here // this.Width = 270; this.Height = 30; this.FontFamily = "幼圆"; this.FontSize = 12; this.FontStyle = FontStyle.Regular; this.Adaptable =

初探无水印信息图片加密技术

背景 随着手机APP越来越多,对于APP信息安全面临的挑战越来越大,像接口传递的验证信息这些相对保密的信息如果直接放在app中明文,那么毫无疑问,很容易就被破解出来,想干嘛就干嘛.因此为了对部分本地信息加密,想出过无数的办法,本次讨论的重点,无水印信息图片加密.** 原理 无水印信息图片加密,基本原理,就是将信息负载再图片上,然后程序通过特定的算法将信息再度拿出来,而图片一看下去也是正常显示的,肉眼看不出任何的猫腻.那么到底怎么附加法? 1. **追加信息法:** 利用不同格式图片的特性,例如