Foxtable(狐表)用户栏目专家坐堂 → 图片绘制在单元格,保持长宽比


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

主题:图片绘制在单元格,保持长宽比

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


加好友 发短信
等级:二尾狐 帖子:517 积分:4759 威望:0 精华:0 注册:2014/1/16 16:55:00
图片绘制在单元格,保持长宽比  发帖心情 Post By:2024/7/7 8:01:00 [只看该作者]

Select Case e.Col.Name 

    Case "Ico" 

        Dim 绘制列 As String = e.Col.Name

        If e.Row.IsNull(绘制列) = False Then

            e.StartDraw

            Dim File As String = ProjectPath & "\Images\" & e.Row(绘制列)

            File = File.Replace("/", "\")

            File = File.Replace("\\", "\")

            File = File.Replace("\\", "\")

            If FileSys.FileExists(File) = True Then

                Dim img As Image = GetImage(File)

                e.text = "" 'e.row(e.col.name) & "小时"

                e.Graphics.DrawImage(img, e.x + 1 , e.y + 1 , 16 , 16) ' e.Width - 24

            End If

            e.EndDraw

        End If

End Select


请问:如果保持图片的高度和宽度比,让图片不变形。例:宽度24,高度按比例自动缩放



DrawCell

在绘制单元格的时候执行,主要用于标记数据。
 
e参数属性:

Table: 准备绘制的表
Row: 准备绘制的行
Col: 准备绘制的列
Style: 指定自定义样式的名称,如果用默认的样式绘制单元格,无须设置Style属性。
Text: 字符型,获得或者设置要绘制的文本内容
Chart: 单元格图表
DrawChart:绘制单元格图表,参考:单元格图表 添加图表数据 使用线状图 使用柱状图 使用胜负图 几个示例 图表属性设置 单元格图表交互

因为DrawCell事件执行非常频繁,所以代码必须简洁,不可以有太耗时的复杂代码,也不能有显示对话框的代码,否则会出现死循环,切记切记。


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


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

比如原图大小为:800 X 600

宽改为24,按比例就是 24 / 800 = 0.03,那么高度也同样缩小0.03不就行了,高度 = 600 * 0.03 = 18

 回到顶部