如何在crystal 报告中设置图片的最大高度?

How to set max height of a picture in crystal report?

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

答案是否定的。我做了很多测试和研究,但我没有找到任何控制高度的方法,而且,如果不控制高度,就不可能在对象框中放入任意图像并保留它同时比例。

看起来很旧problem

但是,如果您的所有图片都被限制为相同的尺寸,例如您将限制设置为 500x500,那么您可以拥有 500x200、500x500、250x500 等尺寸的图片,那么有一种方法可以做吧。

对象框的比例需要与您的限制相同。在我的示例中,500x500,比例为 1:1(正方形),因此您的对象框也需要为正方形。您需要选中 Can grow 并在“图像”选项卡中将大小设置为与对象框的大小完全相同。您还必须将位图图像大小(右键单击框,选择 Bitmap Image Object 然后 Modify)设置为图像限制 (500x500 ).

实际上我已经为 Visual Basic 5.0 和 Crystal Reports 6.0(希捷版)解决了这个问题。您问的是较新的版本,但这可能会给您解决问题的想法,或者它可能会帮助其他人寻找问题的答案。

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

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

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

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

希望对您有所帮助

也许为时已晚,但当您右键单击图片 -> 对象的形状时 您有一个复选框 "modular size",取消选中它并在图像选项卡上手动设置您想要的尺寸。