Foxtable(狐表)用户栏目专家坐堂 → [求助]图片添加水印报错了


  共有3613人关注过本帖树形打印复制链接

主题:[求助]图片添加水印报错了

帅哥哟,离线,有人找我吗?
wldhj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:4209 威望:0 精华:0 注册:2013/12/26 18:44:00
[求助]图片添加水印报错了  发帖心情 Post By:2019/10/25 20:06:00 [只看该作者]

我在BeforeAttachFile里写这段代码,结果报错了
        Dim file As String = e.FileName
        Dim txt As String =  e.DataRow("第一列")
        Dim img As image = getImage(file)
        Dim bmp  = new bitmap(img.Width, img.Height)
        Dim g = graphics.fromimage(bmp)
        g.DrawImage(img,0,0) 
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
        Dim fnt As new Font("微软雅黑", 60, FontStyle.Bold) 
        Dim size = g.MeasureString(txt, fnt)
        g.TranslateTransform((img.width-size.width)/2, img.Height - size.height - 50)
        Dim semiTransBrush As new System.Drawing.SolidBrush(Color.FromArgb(120, 177, 171, 171)) 
        g.DrawString(txt, fnt, semiTransBrush, new PointF(0,0))
        bmp.Dispose
        semiTransBrush.Dispose
        e.FileName=e.DataRow("第一列")
        e.SubFolder = e.DataRow("第三列")
[此贴子已经被作者于2019/10/25 20:09:00编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/25 20:38:00 [只看该作者]

打开文件需要绝对路径!

msgbox(e.FileName)
Dim file As String = ProjectPath & "Attachments\" & e.FileName
Dim img As image = getImage(file)

 回到顶部
帅哥哟,离线,有人找我吗?
wldhj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:4209 威望:0 精华:0 注册:2013/12/26 18:44:00
  发帖心情 Post By:2019/10/25 21:02:00 [只看该作者]

还是报错。startIndex 不能大于字符串长度

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/25 21:41:00 [只看该作者]

这个代码不可能有这种提示。上传实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
wldhj
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:4209 威望:0 精华:0 注册:2013/12/26 18:44:00
  发帖心情 Post By:2019/10/25 21:58:00 [只看该作者]

ww
[此贴子已经被作者于2019/10/25 22:02:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wldhj
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:4209 威望:0 精华:0 注册:2013/12/26 18:44:00
  发帖心情 Post By:2019/10/25 22:06:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.zip



 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/25 22:33:00 [只看该作者]

不能在这个事件用。这里只能获取文件名,不知道是从哪里添加的文件,文件也还没有添加到Attachments,无法取得文件完整路径。

放到datacolchanged事件

If e.DataCol.Name = "第二列" Then
    If e.OldValue Is Nothing AndAlso e.NewValue > "" Then
        ‘添加水印的代码
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
wldhj
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:4209 威望:0 精华:0 注册:2013/12/26 18:44:00
  发帖心情 Post By:2019/10/25 22:45:00 [只看该作者]

DataColChanged没有e.FileName 属性


[此贴子已经被作者于2019/10/25 22:45:31编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/25 22:54:00 [只看该作者]

Dim file As String = ProjectPath & "Attachments\" & e.NewValue
msgbox(file)


 回到顶部
帅哥哟,离线,有人找我吗?
wldhj
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:368 积分:4209 威望:0 精华:0 注册:2013/12/26 18:44:00
  发帖心情 Post By:2019/10/25 23:11:00 [只看该作者]

 不好意思,这两句话又怎么替换呢       
e.FileName=e.DataRow("第一列")
        e.SubFolder = e.DataRow("第三列")


 回到顶部
总数 20 1 2 下一页