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#的System.Drawing命名空间中的类来实现,这些类提供了丰富的图像处理功能。以下将详细介绍如何...
在C#编程环境中,给图像文件添加版权信息是一项常见的任务,尤其对于摄影师、设计师或任何处理数字媒体的个人来说,确保作品的版权归属至关重要。在本文中,我们将深入探讨如何利用C#语言来实现这一功能,主要关注...
BMP图像信息隐藏是一种技术,主要用于在BMP位图文件中嵌入秘密信息,这通常用于数据安全、版权保护或者隐写术。BMP是Bitmap的缩写,是一种未经压缩的图像文件格式,由Microsoft开发,广泛应用于Windows操作系统。在...
4. **设计与艺术作品**:设计师或艺术家在图像、音频、视频文件中嵌入版权信息,保护原创作品。 5. **出版业**:出版社在电子书或PDF文件中添加版权页,维护版权秩序。 四、注意事项 1. **兼容性**:确保添加版权...
本文深入探讨了基于Android系统的图像版权保护系统的设计与实现,旨在通过添加数字水印的方式来验证和保障图像的所有权。 首先,本文对数字水印技术进行了分类介绍。根据水印的可感知性,可分为可见水印和不可见...
7. **攻击测试**:可能的攻击包括图像压缩、低通滤波、JPEG重编码、添加噪声等。通过模拟这些情况,可以评估隐藏信息在不同条件下的生存能力。 总的来说,这个项目展示了如何利用DCT进行信息隐藏,以及如何确保隐藏...
在数字图像处理领域,水印技术是一种用于保护图像版权、验证图像真实性和防止篡改的重要手段。本教程将深入探讨如何使用MATLAB进行图像水印的添加与提取。MATLAB作为一个强大的数学计算软件,同时也提供了丰富的图像...
### 在ASP.NET中为图像添加版权信息的方法 随着互联网的发展,数字版权保护变得越来越重要。在许多场景下,比如电子商务网站、在线画廊等,都需要为上传的图像添加版权信息或者水印,以确保原创作者的权利不受侵害...
1. **版权嵌入**:版权嵌入是图像水印技术的应用之一,目的是在图像中隐蔽地添加版权信息,以防止未经授权的复制或使用。这通常通过修改图像的某些像素值来实现,确保在正常查看时不易察觉,但能通过特定算法检测...
本文研究的主要方向是基于离散傅里叶变换的数字图像水印仿真,在维护数字信息版权方面有着广泛的应用,具有较好的抗干扰能力和保密特性。本文以二值化灰度图像作为研究对象,利用离散傅里叶变换的基本原理设计水印...
本文针对数字水印技术在图像版权保护方面的应用进行了详细探讨。文章首先介绍了MATLAB数字水印技术的基本概念,强调了其不可见性、鲁棒性和复杂性等核心特征。不可见性保证了水印嵌入后,不会对原始图像的视觉质量...
图像文件如JPEG或PNG通常包含元数据,这些数据包含了关于图像的各种信息,例如作者、版权、创建日期等。在.NET Framework中,我们可以使用`System.Drawing.Image`类来访问和修改这些元数据。 2. **使用Image类**:...
二值图像的信息隐藏是一种在数字图像处理领域广泛应用的技术,它主要涉及到如何在看似简单的二值图像中嵌入秘密信息,并且在不引起明显视觉变化的情况下,实现数据的安全传输和存储。二值图像由黑(0)和白(1)两种...
1. 图像水印技术:图像水印是用于保护图像版权和完整性的一项技术,它可以嵌入到图像数据中不易被察觉,但在特定条件下可以检测出。图像水印可以用于版权鉴定、用户鉴定、真实性确认、自动追踪和复制保护。 2. 图像...
### ASP.NET 图片添加版权信息实现方法 #### 知识点概述 在当前互联网环境中,保护数字媒体资源的版权变得尤为重要。对于网站开发者而言,在图片上添加版权信息是一种常见的版权保护措施。本篇文章将详细介绍如何...
本话题将深入探讨如何在图像上添加水印以及如何检测图像中的水印,特别关注使用C#编程语言实现的方法。 首先,让我们了解什么是图像水印。水印是一种在图像中嵌入不可见或微弱可见信息的技术,可以是文字、图案或者...
5. **处理彩色图像**:彩色图像由红、绿、蓝(RGB)三个分量组成,实验要求对每个分量都执行上述操作,增加了信息隐藏的复杂性和安全性。 6. **MATLAB实现**:实验使用MATLAB7.0进行编程,这是一个强大的数学计算和...