Foxtable(狐表)用户栏目专家坐堂 → 请问如何在照相的时候在照片上加名字


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

主题:请问如何在照相的时候在照片上加名字

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


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/18 14:47:00 [只看该作者]

Dim file As String = "D:\test.jpg"
Dim txt As String = "张成伟"
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("微软雅黑", 10, FontStyle.Bold) '水印文字字体
g.DrawString(txt, fnt, Brushes.Red, new PointF(0,0))
bmp.save("D:\shuiyin.jpg",img.RawFormat)
bmp.Dispose

[此贴子已经被作者于2021/5/18 14:47:03编辑过]

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


加好友 发短信
等级:童狐 帖子:223 积分:2218 威望:0 精华:0 注册:2016/10/9 16:10:00
  发帖心情 Post By:2021/5/18 14:52:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210518145039.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
文件名是动态的,如何加水印?  发帖心情 Post By:2021/5/18 15:22:00 [只看该作者]

Dim pic As WinForm.PictureBox = e.Form.Controls("PicView2")
Dim img As Image
e.Form.TimerEnabled = False
If pic.Image IsNot Nothing
    Dim buffer() As Byte = Functions.Execute("GetImageToBytes",pic.Image)
    Dim result As Integer = Functions.Execute("SaveBytesToFile",buffer,e.Form.Controls("FileName").Value)
    If result = 1
        Tables("初二会考系统").Current("相片") = Tables("初二会考系统").Current("学籍号") & ".JPG"
        Tables("学籍表").Current("已拍照") = True
        MessageBox.Show("照片保存为: " & e.Form.Controls("FileName").Value ,"保存成功")
    Else
        MessageBox.Show("保存失败","失败")
    End If
Else
    MessageBox.Show("请先拍照!","错误")
End If
e.Form.TimerEnabled = True




Dim file As String = "D:\test.jpg"  你问这个位置应该上面刚保存那个文件Current("学籍号") & ".JPG" 的文件名,是动态的, 请问这个位置如何写代码? 
Dim txt As String = "张成伟"   还有这个位置的“姓名” , 应该是和学籍号同行的学生的“姓名”, 也是动态的,请问如何改?
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("微软雅黑", 10, FontStyle.Bold) '水印文字字体
g.DrawString(txt, fnt, Brushes.Red, new PointF(0,0))
bmp.save("D:\test.jpg",img.RawFormat)
bmp.Dispose


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


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/18 15:25:00 [只看该作者]

Dim file As String = e.Form.Controls("FileName").Value

Dim txt As String = Tables("初二会考系统").Current("姓名")

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


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
这两段代码合一起,编译错误  发帖心情 Post By:2021/5/18 16:11:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:12.jpg
图片点击可在新窗口打开查看

Dim pic As WinForm.PictureBox = e.Form.Controls("PicView2")
Dim img As Image
e.Form.TimerEnabled = False
If pic.Image IsNot Nothing
    Dim buffer() As Byte = Functions.Execute("GetImageToBytes",pic.Image)
    Dim result As Integer = Functions.Execute("SaveBytesToFile",buffer,e.Form.Controls("FileName").Value)
    If result = 1
        Tables("初二会考系统").Current("相片") = Tables("初二会考系统").Current("学籍号") & ".JPG"
        Tables("学籍表").Current("已拍照") = True
        MessageBox.Show("照片保存为: " & e.Form.Controls("FileName").Value ,"保存成功")
    Else
        MessageBox.Show("保存失败","失败")
    End If
Else
    MessageBox.Show("请先拍照!","错误")
End If
e.Form.TimerEnabled = True


Dim file As String = e.Form.Controls("FileName").Value 
Dim txt As String = Tables("初二会考系统").Current("姓名")  
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("微软雅黑", 10, FontStyle.Bold) '水印文字字体
g.DrawString(txt, fnt, Brushes.Red, new PointF(0,0))
bmp.save(e.Form.Controls("FileName").Value,img.RawFormat)
bmp.Dispose

以上两段代码, 单独测试都好使,放在一个“保存”按钮里就是编译错误。

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


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/18 16:33:00 [只看该作者]

把项目移到其它文件夹使用,注意项目名称和项目所在的路径不能有括号等特殊符号。重新打开项目测试就可以看到具体的错误提示

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


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
请问这是什么意思  发帖心情 Post By:2021/5/18 16:53:00 [只看该作者]

Dim pic As WinForm.PictureBox = e.Form.Controls("PicView2")
Dim img As Image
e.Form.TimerEnabled = False
If pic.Image IsNot Nothing
    Dim buffer() As Byte = Functions.Execute("GetImageToBytes",pic.Image)
    Dim result As Integer = Functions.Execute("SaveBytesToFile",buffer,e.Form.Controls("FileName").Value)
    If result = 1
        Tables("初二会考系统").Current("相片") = Tables("初二会考系统").Current("学籍号") & ".JPG"
        Tables("学籍表").Current("已拍照") = True
        MessageBox.Show("照片保存为: " & e.Form.Controls("FileName").Value ,"保存成功")
    Else
        MessageBox.Show("保存失败","失败")
    End If
Else
    MessageBox.Show("请先拍照!","错误")
End If
e.Form.TimerEnabled = True

Dim file As String = e.Form.Controls("FileName").Value 
Dim txt As String = Tables("初二会考系统").Current("姓名")  
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("微软雅黑", 10, FontStyle.Bold) '水印文字字体
g.DrawString(txt, fnt, Brushes.Red, new PointF(0,0))
bmp.save(e.Form.Controls("FileName").Value,img.RawFormat)
bmp.Dispose


请问这应该如何修改?
图片点击可在新窗口打开查看此主题相关图片如下:18165026.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/18 16:55:00 [只看该作者]

img这个变量名称定义重复了,换个名称,或者直接使用原来的名称,不需要重新定义。

应该没有安装对应的.net framework中文语言包,所以提示的是英文

 回到顶部
总数 18 上一页 1 2