Foxtable(狐表)用户栏目专家坐堂 → [求助]word报表中图片问题


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

主题:[求助]word报表中图片问题

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
[求助]word报表中图片问题  发帖心情 Post By:2017/8/4 15:44:00 [只看该作者]

请教老师:
        想在word报表中由几个单元格合并成的一个照片框中放置一个图片,并进行比例缩放
下面代码请老师看看有没有问题,给优化一下。现在照片框的宽度和高度是写死了,如何能用代码获取照片框的宽度和高度值?

Dim file As String = ProjectPath & "RemoteFiles\" & tb.Current("照片")
Dim img As image = getImage(file)
Dim ZPwidth As Integer = img.width  '照片原始宽度  像素
Dim ZPheight As Integer = img.height  '照片原始高度  像素
Dim Docwidth As Integer = 200   '432  '模板照片框宽度  像素
Dim Docheight As Integer = 150   '336 '模板照片框高度  像素
Dim bl,Wbl,Hbl As Double  '原始图片像素和模板照片框比例
Wbl = ZPwidth/Docwidth
Hbl = ZPheight/Docheight
Dim width,height As Integer
If ZPwidth <= Docwidth AndAlso ZPheight <= Docheight Then
    width = ZPwidth
    height = ZPheight
ElseIf ZPwidth > Docwidth AndAlso ZPheight <= Docheight Then
    width = ZPwidth
    height = Cint(ZPheight/Wbl)
ElseIf ZPwidth <= Docwidth AndAlso ZPheight > Docheight Then
    width = Cint(ZPwidth/Hbl)
    height = Docheight
ElseIf ZPwidth > Docwidth AndAlso ZPheight > Docheight Then
    If Wbl >= Hbl Then
        width = Cint(ZPwidth/Wbl)
        height = Cint(ZPheight/Wbl)
    Else
        width = Cint(ZPwidth/Hbl)
        height = Cint(ZPheight/Hbl)
    End If
End If
wrt.ReplaceWithImage("Tihuan照片",file, width, height)
[此贴子已经被作者于2017/8/4 15:45:27编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/4 16:01:00 [只看该作者]

指定宽度或者指定高度,另一个弄成-1,就自动按比例的了

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101165&skin=0

 


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/8/4 16:11:00 [只看该作者]

能用代码获取照片框的宽度和高度值吗?

后期若修改了模板中的照片框的大小,只能在程序中再指定吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/4 16:45:00 [只看该作者]

以下是引用lzzhx在2017/8/4 16:11:00的发言:
能用代码获取照片框的宽度和高度值吗?

后期若修改了模板中的照片框的大小,只能在程序中再指定吗?

 

你为什么不直接在设计模板的时候指定宽度或者高度呢?如

 

[&&图片.jpg, 100,-1]

[&文件路径,-1,100]

 

无法获取文本框宽高,而且,你模板的文本框位置也有可能改变。


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/8/4 16:56:00 [只看该作者]

100是像素值 还是 磅值?
关键是有的图片比较宽,要以宽度缩放填充,而有的图片比较窄,要以高度缩放填充,要如何判断?

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/8/4 17:08:00 [只看该作者]

搞定了

Dim Docwidth As Integer = 200   '432  '模板照片框宽度  像素
Dim Docheight As Integer = 150   '336 '模板照片框高度  像素

把上面的像素值要换算成磅值

 回到顶部