Select e.Col.name
Case "产品图片"
Dim Colname As String="图片地址"
If not e.Row.DataRow.IsNull("图片地址") Then
If FileSys.FileExists(e.Row("图片地址"))Then
e.StartDraw
Dim img As Image = GetImage(e.Row("图片地址"))
Dim xposition As Integer=3 '定义填充初始位置 X轴
Dim yposition As Integer=3 '定义填充初始位置 Y轴
Dim imgwidth As Integer = e.Table.cols(e.Col.name).width-xposition*2 '定义图片的宽 从列宽中获取
Dim imgheight As Integer = e.Table.Grid.Rows(e.Table.Current.Index+1).HeightDisplay-yposition*2 '定义图片的高 从表格中的行高获取
If imgwidth>imgheight Then '如果宽度大于高度 则图片的大小的宽度以高度作为标准
imgwidth=imgheight
ElseIf imgwidth<imgheight '如果宽度小于高度,则图片的大小的高度按宽度作为标准
imgheight=imgwidth
End If
If img.width<img.height Then '本段代码为设置自动缩放 如果有些图片的长宽不一,则要动态修改图片的长宽
imgwidth=imgheight/img.Height*img.Width '更新要填充的图片的宽度
xposition=(imgheight-imgwidth)/2+ xposition '图片片居中
ElseIf img.width>img.height Then
imgheight= imgwidth/img.Width*img.Height '更新要填充的图片的高度
yposition=(imgwidth-imgheight)/2+ yposition '图片片居中
End If
e.Graphics.DrawImage(img, e.x + xposition,e.y + yposition,imgwidth,imgheight) '绘制产品图片
e.EndDraw
End If
End If
End Select
这是我的代码 你可以去参考下 没用的可以删掉,有自动缩放跟居中的功能
[此贴子已经被作者于2021/8/31 23:36:09编辑过]