Foxtable(狐表)用户栏目专家坐堂 → 如何获得服务器上图片文件的高和宽


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

主题:如何获得服务器上图片文件的高和宽

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7529 威望:0 精华:0 注册:2010/4/12 12:23:00
如何获得服务器上图片文件的高和宽  发帖心情 Post By:2021/3/15 9:50:00 [只看该作者]

窗口中有picturebox控件,需要获得服务器上图片的宽与高,决定图片在控件中的缩放方式。如何获得该图片的宽与高?谢谢!

Dim pb As WinForm.PictureBox = e.form.controls("PictureBox1")
pb.FTPclient = ftp1 '服务器图片
pb.ImageFile = t5 & t1
Dim img As Image = GetImage(t5 & t1)
If img.Height < pb.Height AndAlso img.Width < pb.Width Then
      pb.SizeMode = ImageSizeMode.CenterImage
Else
      pb.SizeMode = ImageSizeMode.Zoom
End If

运行提示:未将对象引用设置到对象的实例。

代码“dim img as image 。。。”前的部分运行正常。
代码错误应该在:Dim img As Image = GetImage(t5 & t1)
[此贴子已经被作者于2021/3/15 9:54:34编辑过]

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


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

msgbox(t5 & t1) 显示的是什么路径?

下面2种用法仅支持本地路径,ImageFile可以支持http,但是不支持ftp的
pb.ImageFile = t5 & t1
Dim img As Image = GetImage(t5 & t1)

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7529 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2021/3/15 10:00:00 [只看该作者]

t5 是ftp服务器上图片保存的目录, t1是文件名。
pb.imgefile = t5 & t1 运行正常

注释掉Dim img As Image = GetImage(t5 & t1)正常。
[此贴子已经被作者于2021/3/15 10:06:08编辑过]

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


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

GetImage仅支持本地路径

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7529 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2021/3/15 10:20:00 [只看该作者]

那如何来获得ftp上图片的宽与高?谢谢!


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


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

下载到本地http://www.foxtable.com/webhelp/topics/1410.htm
再使用GetImage

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7529 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2021/3/15 10:31:00 [只看该作者]

picturebox控件中显示的文件都会缓存到本地项目文件夹中RemoteFiles目录下,获得项目文件夹的名称即可。如何获得项目文件夹?


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


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

msgbox(ProjectPath & "RemoteFiles\")

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7529 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2021/3/15 10:40:00 [只看该作者]

ok。搞定。
        Dim pb As WinForm.PictureBox = e.form.controls("PictureBox1")
        pb.FTPclient = ftp1 '服务器图片
        pb.ImageFile = t5 & t1
        Dim txt As String = ProjectPath & "\RemoteFiles\" & t5 & t1
        Dim img As Image = GetImage(txt)
        If img.Height < pb.Height AndAlso img.Width < pb.Width Then
            pb.SizeMode = ImageSizeMode.CenterImage
        Else
            pb.SizeMode = ImageSizeMode.Zoom
        End If


 回到顶部