如何在水晶报表中设置图片的最大高度?

时间:2015-02-05 17:13:30

标签: crystal-reports

是否可以在水晶报表中设置图片的最大高度并保留图片的原始比例? 如果禁用增长,则每张图片都会拉伸或缩小为默认图片对象大小,如果启用,我将失去图片大小的限制。 我正在使用VS 2013(13.0.5)的水晶报告

3 个答案:

答案 0 :(得分:3)

实际上我解决了Visual Basic 5.0和Crystal Reports 6.0(Seagate版本)的这个问题。你问过新版本,但也许这会给你一个解决问题的想法,或者它可以帮助其他人寻找他们问题的答案。

在分配报告源之前,您可以更改图片的高度:

Set crxFieldObject = Report.Sections.Item("D").ReportObjects.Item(269)
crxFieldObject.Height = theNewHeight
CRViewer1.ReportSource = Report
CRViewer1.ViewReport

PS:分配报告源后,您无法更改height属性。下面的代码不起作用:

Private Sub Section3_Format(ByVal pFormattingInfo As Object)
     Picture1.Height = theNewHeight 'this code does NOT work
End Sub

在此代码中:

.Sections.Item("D")表示报告的详细信息部分和

.Item(269)表示图片对象。插入OLE对象后,您可以使用小代码检查项目编号,例如:

aa = Report.Sections.Item("D").ReportObjects.Count
For i = 1 To aa
    Set crxFieldObject = Report.Sections.Item("D").ReportObjects.Item(i)
    bb = crxFieldObject.Name
    If Mid(bb, 1, 7) = "Picture" Then
        crxFieldObject.suppress = False 'You can put a BreakPoint here to check the value of i
    End If
Next i

希望有所帮助

答案 1 :(得分:0)

答案是否定的。我做了很多测试和研究,但我没有找到任何控制高度的方法,如果不控制高度,就无法在对象中插入任意图像盒子和保持是同时比例。

看起来像是旧problem

但是,如果您的所有图像都限制在相同的尺寸,就像您将限制设置为500x500,那么您可以拥有500x200,500x500,250x500等图像,这样就可以了这样做。

对象框需要与您的限制具有相同的比率。在我的例子中,500x500,比例为1:1(平方),因此您的对象框也需要是方形的。您需要检查Can grow,然后在图片标签中,将大小设置为与对象框的大小完全相同。您还必须设置位图图像大小(右键单击该框,选择位图图像对象然后修改)到图像限制(500x500)。

答案 2 :(得分:0)

也许为时已晚,但是当你右键点击图片时 - >塑造物体 您有一个“模块化大小”复选框,取消选中它并在“图像”选项卡上手动设置所需的大小。