privatevoidbtnOpenFile_Click(objectsender, System.EventArgse)
{
//Stream myStream;
OpenFileDialogopenFileDialog1 =newOpenFileDialog();
openFileDialog1.InitialDirectory ="c:\\";
openFileDialog1.Filter="All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2 ;
openFileDialog1.RestoreDirectory =true;
if(openFileDialog1.ShowDialog() ==DialogResult.OK)
{
originalimage = System.Drawing.Image.FromFile(openFileDialog1.FileName.ToString());
Imageithumbnail = originalimage.GetThumbnailImage(200, 200,null,newIntPtr());
pictureBox1.Image=ithumbnail;
btnAddCopyright.Enabled =true;
}
}
privatevoidbtnAddCopyright_Click(objectsender, System.EventArgse)
{
intimagewidth;
intimageheight;
intfontsize=300;
intx,y;
inta,re,gr,bl,x1,y1,z1;
intsize;
Bitmappattern;
SizeFsizeofstring;
boolfoundfont;
imagewidth=originalimage.Width;
imageheight=originalimage.Height;
size=imagewidth*imageheight;
pattern =newBitmap(imagewidth,imageheight);
Bitmaptemp =newBitmap(originalimage);
Graphicsg =Graphics.FromImage(pattern);
Graphicstempg =Graphics.FromImage(originalimage);
//find a font size that will fit in the bitmap
foundfont=false;
g.Clear(Color.White);
while(foundfont==false)
{
Fontfc =newFont("Georgia", fontsize, System.Drawing.FontStyle.Bold);
sizeofstring=newSizeF(imagewidth,imageheight);
sizeofstring=g.MeasureString("DOTNET",fc);
if(sizeofstring.Width<pattern.Width)
{
if(sizeofstring.Height<pattern.Height)
{
foundfont=true;
g.DrawString("DOTNET", fc,newSolidBrush(Color.Black),1,1);
}
}
else
fontsize=fontsize-1;
}
MessageBox.Show("已创建新文件","给图像添加版权信息");
for(x=1;x<pattern.Width;x++)
{
for(y=1;y<pattern.Height;y++)//
{
if(pattern.GetPixel(x,y).ToArgb()==Color.Black.ToArgb())
{
a=temp.GetPixel(x,y).A;
re=temp.GetPixel(x,y).R;
gr=temp.GetPixel(x,y).G;
bl=temp.GetPixel(x,y).B;
x1=re;
y1=gr;
z1=bl;
if(bl+25<255)
bl=bl+25;
if(gr+25<255)
gr=gr+25;
if(re+25<255)
re=re+25;
if(x1-25>0)
x1=x1-25;
if(y1-25>0)
y1=y1-25;
if(z1-25>0)
z1=z1-25;
tempg.DrawEllipse(newPen(newSolidBrush(Color.Black)),x,y+1,3,3);
tempg.DrawEllipse(newPen(newSolidBrush(Color.FromArgb(a,x1,y1,z1))),x,y,1,1);
}
}
}
MessageBox.Show("输出文件是c:\\output.jpeg","给图像添加版权信息");
tempg.Save();
originalimage.Save("c:\\output.jpeg",ImageFormat.Jpeg);
}
}
相关推荐
用c#制作的给图像添加版权信息 c#源代码
所谓数字水印是向多媒体数据(如图像、声音、视频信号等)中添加某些数字信息以达到文件真伪鉴别、版权保护等功能。嵌入的水印信息隐藏于宿主文件中,不影响原始文件的可观性和完整性。 LSB(LeastSignificant Bits...
对图像的内容进行准确快速的描述是图像检索技术中研究的重点和难点,传统的图像特征提取方法鲁棒性较差,无法检索出修改过的图像。SIFT特征对局部特征描述能力好,同时对尺度缩放、旋转、平移、仿射变换、光照变化、...
可直接在图像中添加版权信息;内置 PhotoMasque(图像蒙板)编辑功能,不但增加了图层管理功能,还支持 Photoshop 的 8BF 滤镜!配合功能增强插件,可以快速编辑图像文件,轻松获得满意的效果。
考虑到书中分散介绍了40多个具体算法,译文中归纳增加了一个算法列表。另外,对原书的索引,考虑中文的习惯进行了一些调整,并按中文次序进行了排列,希望能更好地服务于读者。 封面 -27 封底 -26 书名 -25 版权 -...
图像盲水印将水印信息以不可见的形式添加到原图信息中,您可对疑似被盗取的资源进行盲水印提取,验证图片归属。适用场景 #鉴权追责 您可对图片资源增加半盲水印,在发现恶意攻击方盗取您的资源后将疑似被盗取图取回...
颜色反卷积算法的设计针对RGB摄像机获取的颜色信息,基于免疫组化技术使用的染色剂RGB分量光的特异性吸收,分别计算每种染色剂对图像的作用效果。免疫组织化学图像处理通常用的染色包括DAB、H&E。 颜色反卷积可应用...
作为版权保护的重要手段,数字水印技术已得到了广泛的研究和应用,但实用的彩色图像数字水印技术不多,特别是灰度级水印信号的嵌入算法不多。文中充分考虑到人类视觉系统特点,采用YIQ色彩空间,将灰度图像水印信号...
能方便快速地做出各式各样的图像特效,颇具特色的文本输入功能有多种效果可供选择,并能自由地调整文本角度以及直接在图像中添加版权信息,威航经过测试后发现PhotoFiltre Studio X是一款非常不错的图像处理软件。
在您的照片上添加名称、版权或 LOGO 水印。 可完全自定义的水印: 选择水印的字体、字体大小、样式和颜色。设置自定义透明度级别,添加阴影或旋转水印。 实时预览: 实时预览您正在更改照片的调整大小设置、水印和...
提出了一种基于奇异值与提升小波的彩色图像水印算法,该方法首先将彩色图像从RGB空间转换到YUV彩色空间,然后对YUV空间中的亮度...算法采用灰度图像作为水印,增加了嵌入的信息量,在版权保护方面具有一定的应用价值。
根据实验需求,对生成的图像进行曝光时间、拍摄时间、实验名称、实验目的、软件版权等等一系列信息的添加和修改,适合Tiff、bmp、jpg、png等格式,其中主要用到FreeImage 和OpenCV等工具
保护自己的版权同时又不影响作品的美观性,软件界面直观简单,无需任何学习,打开就可以快速上手使用,添加肉眼看不见的水印,遇到版权问题时就可以通过这个水印来保护自身作品的版权,两种水印供大家选择,选择图片...
协议攻击并不祛除水印,而是通过添加一个伪造的水印来干扰版权的认,现有的鲁棒水印算法无法抵抗这种攻击,而数字签名是抵抗这种攻击的有效策略,因此将数字水印和PKI结合起来引入到DRM系统中,构造一个具备更完善...
1、为您的图片添加版权信息,字体、特效、位置可以定义; 2、添加后的版权信息可以用鼠标拖动来改变位置、大小; 3、为您的图片添加边框; 4、支持gif/jpg/bmp/pcx/png/tif/jp2等图像格式; 5、支持图像另存为...
给图片添加版权信息 绘画世界 模拟播放动画 使用刷子 图像文件格式转换 旋转的秒针 运动的球。。。。。。。。。。。。
【图书描述】: GDI+是新一代的图形接口。如果要设计.NET Framework图形应用程序,就...15.3 为绘制的图像添加版权信息 15.4 从流或数据库读取及写入图像 15.5 创建自绘制的列表控件 总结 附录A .NET中的异常处理
dEXIF(拉撒路/自由帕斯卡)概述用Delphi / Lazarus编写的图像元数据操纵器。 这是dEXIF的一个分支,专门用于Lazarus和Freepascal(但也可以在Delphi中使用)。 可以读取EXIF和IPTC数据,处理一些数据并将其写回。 ...