Office中国论坛/Access中国论坛

标题: 给图片添加版权信息 [打印本页]

作者: fan0217    时间: 2008-3-9 22:33
标题: 给图片添加版权信息
  1.   

  2.         Public Sub AddTextToImg(ByVal file As String, ByVal newFile As String, ByVal text As String)
  3.             If Not System.IO.File.Exists(file) Then
  4.                 Throw New System.IO.FileNotFoundException("文件不存在。")
  5.             End If
  6.             If text = String.Empty Then
  7.                 Return
  8.             End If
  9.             '还需要判断文件类型是否为图像类型,这里就不赘述了
  10.             Dim image As System.Drawing.Image = System.Drawing.Image.FromFile(file)
  11.             Dim bitmap As New System.Drawing.Bitmap(image, image.Width, image.Height)
  12.             Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bitmap)
  13.             Dim fontSize As Single = 12.0F  '字体大小
  14.             Dim textWidth As Single = text.Length * fontSize  '文本的长度
  15.             '下面定义一个矩形区域,以后在这个矩形里画上白底黑字
  16.             Dim rectX As Single = 0
  17.             Dim rectY As Single = 0
  18.             Dim rectWidth As Single = text.Length * (fontSize + 8)
  19.             Dim rectHeight As Single = fontSize + 8
  20.             '声明矩形域
  21.             Dim textArea As New System.Drawing.RectangleF(rectX, rectY, rectWidth, rectHeight)
  22.             Dim font As New System.Drawing.Font("宋体", fontSize)  '定义字体
  23.             Dim whiteBrush As New System.Drawing.SolidBrush(Color.White)  '白笔刷,画文字用
  24.             Dim blackBrush As New System.Drawing.SolidBrush(Color.Black)  '黑笔刷,画背景用
  25.             g.FillRectangle(blackBrush, rectX, rectY, rectWidth, rectHeight)
  26.             g.DrawString(text, font, whiteBrush, textArea)
  27.             '保存为Jpg类型
  28.             bitmap.Save(newFile, System.Drawing.Imaging.ImageFormat.Jpeg)
  29.             g.Dispose()
  30.             bitmap.Dispose()
  31.             image.Dispose()
  32.         End Sub

复制代码

作者: fan0217    时间: 2008-3-9 22:55
这些功能在vb或者asp中实现都特别困难,但在.NET中就短短的十几行代码就解决了。
作者: andymark    时间: 2008-3-9 23:01
截个图看看是什么样的效果的
作者: tmtony    时间: 2008-3-10 00:28
在VB可以实现,但代码不少 .net有不少内置了, 的确方便不少
作者: fan0217    时间: 2008-3-10 09:51
原帖由 andymark 于 2008-3-9 23:01 发表
截个图看看是什么样的效果的

作者: tmtony    时间: 2008-3-10 09:53
有没有破除这个水印的方法
作者: fan0217    时间: 2008-3-10 09:53
谢谢站长的信任,但对于.NET我还是小学生哦,恐难胜任。

[ 本帖最后由 fan0217 于 2008-3-10 09:57 编辑 ]
作者: fan0217    时间: 2008-3-10 09:56
原帖由 tmtony 于 2008-3-10 09:53 发表
有没有破除这个水印的方法


您是指去除图片中的那个水印标记吗?呵呵!我不知道。我想该用PS吧!
作者: xie62    时间: 2010-6-6 08:53
收藏了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3