设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5754|回复: 8

给图片添加版权信息

[复制链接]
发表于 2008-3-9 22:33:08 | 显示全部楼层 |阅读模式
  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

复制代码
 楼主| 发表于 2008-3-9 22:55:32 | 显示全部楼层
这些功能在vb或者asp中实现都特别困难,但在.NET中就短短的十几行代码就解决了。
发表于 2008-3-9 23:01:12 | 显示全部楼层
截个图看看是什么样的效果的

点击这里给我发消息

发表于 2008-3-10 00:28:00 | 显示全部楼层
在VB可以实现,但代码不少 .net有不少内置了, 的确方便不少
 楼主| 发表于 2008-3-10 09:51:29 | 显示全部楼层
原帖由 andymark 于 2008-3-9 23:01 发表
截个图看看是什么样的效果的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

发表于 2008-3-10 09:53:14 | 显示全部楼层
有没有破除这个水印的方法
 楼主| 发表于 2008-3-10 09:53:14 | 显示全部楼层
谢谢站长的信任,但对于.NET我还是小学生哦,恐难胜任。

[ 本帖最后由 fan0217 于 2008-3-10 09:57 编辑 ]
 楼主| 发表于 2008-3-10 09:56:17 | 显示全部楼层
原帖由 tmtony 于 2008-3-10 09:53 发表
有没有破除这个水印的方法


您是指去除图片中的那个水印标记吗?呵呵!我不知道。我想该用PS吧!
发表于 2010-6-6 08:53:35 | 显示全部楼层
收藏了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-29 04:58 , Processed in 0.095173 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表