Foxtable(狐表)用户栏目专家坐堂 → 设置剪贴板图片保存的分辨率


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

主题:设置剪贴板图片保存的分辨率

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
设置剪贴板图片保存的分辨率  发帖心情 Post By:2018/7/14 13:22:00 [只看该作者]

'设置剪粘板的图片
Dim dd As Row = Tables("材料选择_table1").Current
Dim idx As String
Dim fl As String
If ClipBoard.ContainsImage And dd IsNot Nothing Then
    Dim dfs As List(of DataRow) = DataTables("材料图片表").sqlSelect("名称 like '" & dd("autoid") & "%' and  MainID=  '" & dd("autoid") & "' ")
    If dfs.Count > 0 Then
        Dim x1 As Integer = dfs.Count+1
        
        idx =   dd("autoid") & Format(x1,"000")
    Else
        idx =   dd("autoid") & Format(1,"000")
    End If
    Dim img As Image
    img = ClipBoard.GetImage()
    fl  = "F:\data$\project\copyimg\" & idx & ".jpg"
    img.Save(fl)
    Dim n As Integer = DataTables("材料图片表").SQLCompute("max(AutoID)")+1
        Dim r As Row = Tables("材料表.材料图片表").AddNew()
        r("AutoID") = n
        r("MainID") = dd("autoid")
        r("名称") = idx '写入文件名
        r("照片Ext") =  ".jpg" '写入文件后缀
        r.Save '必须先保存
        r.DataRow.SQLInsertFile("照片",fl) '插入文件
        r.save
        ' r.DataRow.SQLSetValue("CRC值", CRCCheckFile(fl)) '保存crc检验值
    'End If
End If

1、上面代码 生成的图片,分辨率太小了。


2、还有,怎么,复制多张照片,然后,保存呢,然后存至二进制行;

3、上面的代码 ,没有获取:剪贴版,图片的后缀,现在发现,导入后,另一个软件报错。我把后缀改成:.PNG ,就好了。(因为,现在的照片复制 的是PNG后缀)
[此贴子已经被作者于2018/7/14 14:31:03编辑过]

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


加好友 发短信
等级:超级版主 帖子:106566 积分:541995 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/14 14:34:00 [只看该作者]

1、
img = ClipBoard.GetImage()
dim bmp = new bitmap(img, 800, 800 * (img.height / img.width))
fl  = "F:\data$\project\copyimg\" & idx & ".jpg"
    bmp.Save(fl)

2、一次只能复制一张图片

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2018/7/14 14:34:00 [只看该作者]

3、上面的代码 ,没有获取:剪贴版,图片的后缀,现在发现,导入后,另一个软件报错。我把后缀改成:.PNG ,就好了。(因为,现在的照片复制 的是PNG后缀)

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2018/7/14 14:44:00 [只看该作者]

1、
img = ClipBoard.GetImage()
dim bmp = new bitmap(img, 800, 800 * (img.height / img.width))
fl  = "F:\data$\project\copyimg\" & idx & ".jpg"
    bmp.Save(fl)
这个是把照片强制 放大分辨率,有没有 直接用图片本身的分辨的代码 ?

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


加好友 发短信
等级:超级版主 帖子:106566 积分:541995 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/14 14:51:00 [只看该作者]

剪贴板是无法获取图片扩展名的,不知道图片数据里有没有,有兴趣 的自己研究一下:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78730

至于图片本身的分辨,默认的情况下就是本身的分辨率

 回到顶部