vb.net图片加水印的简单介绍

C#如何给PDF文件添加水印

PDF水印分为两种:文本水印和图片水印。文本水印一般被用在商业领域,提醒读者该文档是受版权保护的,其他人不能抄袭或者免费使用。除了这个特征,水印还可以用来标记这个文档的一些基本状态信息,例如是草稿状态还是最终版本?图片水印是美化PDF文件的一个很好的选择,它可以用多彩的、独特的图片来作为PDF文件的背景。那么,怎样用编程的方式给PDF文件添加水印呢?有很多种实现方法,其中一种最快最容易的办法也许是用第三方软件,例如Spire.PDF。本文会阐述怎样用免费的第三方软件Spire.PDF来给PDF文件添加文本水印和图片水印。

涧西网站建设公司创新互联公司,涧西网站设计制作,有大型网站制作公司丰富经验。已为涧西千余家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的涧西做网站的公司定做!

免费版Spire.PDF软件介绍

免费版Spire.PDF软件是一款免费的独立的PDF控件,它提供给编程者一系列丰富的PDF功能,例如读,写,新建,编辑,操作和通过C#或VB.NET转化PDF文件等。请注意,免费版仅支持10页的PDF文件和三页的转换功能。

如何得到?

首先,请从E-iceblue website网站上下载并安装Spire.PDF。安装完成后,你就可以利用“SampleCenter”和界面帮助快速开始了,其中有很多代码片段和详细的应用程序功能介绍。

下面就列举一些怎样给PDF文件添加图片水印和文本水印的代码片段。我把它分为两部分。一部分是图片水印,另一部分是文本水印。

第一部分:添加图片水印

首先,准备一张你想设置为PDF文件水印的图片。其次,我们只需要调用Image.FromFile(stringfilename)方法来加载图片,非常简单、方便。然后,设置PDF图片背景。

代码如下:

步骤1:创建一个新的PDF实例。然后导入PDF文件

PdfDocument pdf = new PdfDocument();  

pdf.LoadFromFile("sample.pdf");

步骤2:获取PDF文件的第一页

PdfPageBase page = pdf.Pages[0];

步骤3:导入图片并把它设置为PDF文件的背景

Image img = Image.FromFile("img.jpg");  

page.BackgroundImage = img;

步骤4:保存文件为PDF格式,命名为"ImageWaterMark.pdf"

pdf.SaveToFile("ImageWaterMark.pdf");

添加了图片水印的效果图如下:

图片 1: 图片水印

第二部分:添加文本水印

和添加图片水印不同的是,添加文本水印更为复杂。为了最好的匹配PDF页面,我们需要在PDF中制作出水印文本,然后设置文本的字体,颜色,位置和文本格式。以上两种功能均可以通过调用这种方法来快速实现:DrawString(strings, PdfFontBase font, PdfBrush brush, float x, float y, PdfStringFormat format).下面是代码片段:

步骤1:创建一个新的PDF实例。然后导入PDF文件。

PdfDocument pdf= new PdfDocument();

pdf.LoadFromFile("sample.pdf");

步骤2:获取PDF文件的第一页

PdfPageBase page = pdf.Pages[0];

步骤3:添加文本水印到文件的第一页,设置文本格式

PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width / 2, page.Canvas.ClientSize.Height / 3));  

brush.Graphics.SetTransparency(0.3f);  

brush.Graphics.Save();  

brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2);  

brush.Graphics.RotateTransform(-45);  

brush.Graphics.DrawString("Draft Version", new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.Blue,0, 0, new PdfStringFormat(PdfTextAlignment.Center));  

brush.Graphics.Restore();  

brush.Graphics.SetTransparency(1);  

page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize));

步骤4:保存文件为PDF格式,命名为"TextWaterMark.pdf"

pdf.SaveToFile("TextWaterMark.pdf");

添加了文本水印的效果图如下:

图片 2: 文本水印

总结

虽然有很多文章介绍了不用第三方软件就可以用编程的方式来添加水印的方法,但这里我仍然使用了免费版的Spire.PDF软件,因为除了水印功能以外,我还需要使用新建,转换,打印和保护PDF等功能,而这个软件全部支持这些功能。它工作的很好,并且大大的提高了我的工作效率。如果你也感兴趣的话,不妨试试它。

VB 给图片添加文字水印

VB6.0给已有图片添加文字可通过定位的Print 方法实现。要将添加文字的位图储存为JPG格式文件,需要使用API函数等实现。

具体步骤:

1)在图片框加载需要添加文字水印的图片。

2)使用如下代码实现添加文字到图片框。

Private Sub CmdEdit_Click() '修改

Dim strTxt As String

strTxt = "风雨无阻 拍摄"

Picture1.FontSize = 18

Picture1.CurrentY = Picture1.ScaleHeight - 30

Picture1.CurrentX = Picture1.ScaleWidth / 2 - Picture1.TextWidth(strTxt) / 2

Picture1.ForeColor = vbWhite

Picture1.FontItalic = True

Picture1.Print strTxt

End Sub

3)将以下API转换图片格式代码放置于标准模块,模块命名为saveApg。

Option Explicit

Public Type GUID

Data1 As Long

Data2 As Integer

Data3 As Integer

Data4(0 To 7) As Byte

End Type

Public Type GdiplusStartupInput

GdiplusVersion As Long

DebugEventCallback As Long

SuppressBackgroundThread As Long

SuppressExternalCodecs As Long

End Type

Public Type EncoderParameter

GUID As GUID

NumberOfValues As Long

type As Long

Value As Long

End Type

Public Type EncoderParameters

Count As Long

Parameter As EncoderParameter

End Type

Public Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, inputbuf As GdiplusStartupInput, ByVal outputbuf As Long) As Long

Public Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long

Public Declare Function GdipCreateBitmapFromHBITMAP Lib "GDIPlus" (ByVal hbm As Long, ByVal hpal As Long, Bitmap As Long) As Long

Public Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal Image As Long) As Long

Public Declare Function GdipSaveImageToFile Lib "GDIPlus" (ByVal Image As Long, ByVal fileName As Long, clsidEncoder As GUID, encoderParams As Any) As Long

Public Declare Function CLSIDFromString Lib "ole32" (ByVal str As Long, id As GUID) As Long

Public Declare Function GdipCreateBitmapFromFile Lib "GDIPlus" (ByVal fileName As Long, Bitmap As Long) As Long

Public Function PictureBoxSaveJPG(ByVal pict As StdPicture, ByVal fileName As String, Optional ByVal quality As Byte = 80) As Boolean

Dim tSI As GdiplusStartupInput

Dim lRes As Long

Dim lGDIP As Long

Dim lBitmap As Long

'初始化 GDI+

tSI.GdiplusVersion = 1

lRes = GdiplusStartup(lGDIP, tSI, 0)

If lRes = 0 Then

'从句柄创建 GDI+ 图像

lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap)

If lRes = 0 Then

Dim tJpgEncoder As GUID

Dim tParams As EncoderParameters

'初始化解码器的GUID标识

CLSIDFromString StrPtr("{557CF401-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder

'设置解码器参数

tParams.Count = 1

With tParams.Parameter ' Quality

'得到Quality参数的GUID标识

CLSIDFromString StrPtr("{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"), .GUID

.NumberOfValues = 1

.type = 4

.Value = VarPtr(quality)

End With

'保存图像

lRes = GdipSaveImageToFile(lBitmap, StrPtr(fileName), tJpgEncoder, tParams)

'销毁GDI+图像

GdipDisposeImage lBitmap

End If

'销毁 GDI+

GdiplusShutdown lGDIP

End If

If lRes Then

PictureBoxSaveJPG = False

Else

PictureBoxSaveJPG = True

End If

End Function

4)使用以下代码实现将加好文字水印图片保存为jpg格式图片。

Private Sub Command3_Click() '保存为.jpg图片

' 设置“CancelError”为 True

CommonDialog1.CancelError = True

On Error GoTo ErrHandler

' 设置标志

CommonDialog1.Flags = cdlOFNHideReadOnly

' 设置过滤器

CommonDialog1.Filter = "JPEG Files"  "(*.jpg)|*.jpg"

' 指定缺省的过滤器

CommonDialog1.FilterIndex = 2

' 显示“打开”对话框

CommonDialog1.ShowSave

' 显示选定文件的名字

'MsgBox CommonDialog1.fileName

Set Picture2.Picture = Picture1.Image '转移Picture1所绘图为Picture2.Picture赋值

Dim ret As Boolean

ret = PictureBoxSaveJPG(Picture2, CommonDialog1.fileName) '保存压缩后的图片

If ret = False Then

MsgBox "保存失败"

End If

Exit Sub

ErrHandler:

' 用户按了“取消”按钮

Exit Sub

End Sub

如何让在图片上添加水印?

我们在给图片添加水印的时候,也许会想要给其加上图案水印的情况,好看的图案比起普通的文字水印,显得高大上。给图片加上图案水印也是许多经营网店或者网站的商家所遇到的问题,如果采用手工的方法给一张张图片加水印,那必然很慢很麻烦,小编就不推荐使用啦。但是有别的方法可以帮你,一次性搞定全部图片,轻轻松松给图片加上图案水印。

想知道吗?那就赶紧往下看看吧!

借助工具:图叫兽

给图片添加图片水印的操作方法:

第一步、双击打开软件,在左侧选择“添加水印”

第二步、接着,再选择添加将需要处理的图片批量添加进来

第三步、如图,在这里选择水印类型为“图片水印”,然后再点击此处将水印文件上传到软件上

第四步、可设置水印样式以及文件导出位置

第五步、最后,点击“批量转换”即可

第六步、图片处理过程中请耐心等候,成功后直接打开图片查看即可。

怎么给图片加上水印?

水印弄在图片上的方法:

打开美图app,首先在手机上找到并打开美图秀秀APP;

美化图片,在页面中所指处的“美化图片”;

点开文字

在页面中选择所指处的“文字”;

添加水印,在页面中选择处的“水印”,在图片上添加水印即可。

照片水印主要指的是现代的数字照片上面留下的一些logo、信息、网址什么的,图像,声音,视频信号等等在里面加了一些数字信息,这样是为了版权保护,当然加入水印也是不能影响原始文件的可读性以及观瞻的,水印具有以下几个特征,首先是证明各位是这个照片的原始主人,或者有的商家为了做宣传用,也会在照片上增加自己的网址,品牌名字等等。


文章标题:vb.net图片加水印的简单介绍
网址分享:http://scyanting.com/article/hhsded.html