以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么读取图片的宽度和高度信息呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81843)

--  作者:5159518
--  发布时间:2016/3/7 16:08:00
--  [求助]怎么读取图片的宽度和高度信息呢?
请教老师,如何获取图片的宽度和高度信息呢?
我需要在单元格绘制缩略图,现在已经可以显示缩略图了,因为宽高比是固定的,而原始图片的宽高比是任意值,导致显示的缩略图失真了,所以希望知道原始图片的宽度和高度信息,从而能够计算宽高比,这样单元格绘制的缩略图就可以是动态的宽高比了,卡在如何获取原始图片的信息获取上,请老师指教
[此贴子已经被作者于2016/3/7 16:09:06编辑过]

--  作者:大红袍
--  发布时间:2016/3/7 16:11:00
--  
dim img = getimage("d:\\test.jpg")
msgbox(img.width)
msgbox(img.height)

--  作者:5159518
--  发布时间:2016/3/7 16:49:00
--  
谢谢老师指点,我将我的代码发上来,和大家共勉,如果什么地方可以改进的,也请老师和坛友们指点哈:

表属性——DrawCell事件代码

If e.Col.Name = "品牌_logo" AndAlso e.Row.IsNull("品牌_图片") = False Then
    Dim nm As String = e.Row("品牌_图片")
    If FileSys.FileExists(Vars("附件路径") & nm) Then
        If e.Width > 2 AndAlso e.Height > 2 Then
            Dim img = getimage(Vars("附件路径") & nm)
            Dim w1 As Integer = img.width
            Dim h1 As Integer = img.height
            Dim h2 As Integer = e.Height - 2
            Dim w2 As Integer = w1 * h2 / h1
            e.StartDraw()
            e.Graphics.DrawImage(img, e.x + 1,e.y + 1,w2,h2)
            e.EndDraw()
        End If
    End If
End If
[此贴子已经被作者于2016/3/7 16:52:41编辑过]