是否可以用动态表达式设置scaleImage 属性?
Is it possible to set the scaleImage property with dynamic expression?
scaleImage="RetainShape"
对于较大的图像可以正常工作,但对于较小的图像,它会根据报告元素的宽度或高度放大(拉伸,影响图像质量)。
<image scaleImage="RetainShape" hAlign="Center" vAlign="Middle">
<reportElement x="10" y="10" width="534" height="300"
<imageExpression><![CDATA[$P{originalImage}]]></imageExpression>
</image>
我们可以动态设置 scaleImage
属性 吗?如果(图片很大)scaleImage="RetainShape"
else scaleImage="Clip"
对于那些正在为类似场景寻找答案的人...
因此,正如 Alex 所建议的,我创建了一个条件样式并将其应用于图像标签
<style name="scaleImageStyle" hImageAlign="Center" vImageAlign="Middle">
<conditionalStyle>
<conditionExpression><![CDATA[$P{originalImage}.getHeight(null) <=300]]></conditionExpression>
<style scaleImage="Clip"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$P{originalImage}.getHeight(null) >300]]></conditionExpression>
<style scaleImage="RetainShape"/>
</conditionalStyle>
</style>
<image hAlign="Center" vAlign="Middle">
<reportElement style="scaleImageStyle" isPrintRepeatedValues="false" x="0" y="0" width="535" height="300" uuid="d813ec39-6f47-4361-9d82-c312924c2ba0"/>
<imageExpression><![CDATA[$P{originalImage}]]></imageExpression>
</image>
scaleImage="RetainShape"
对于较大的图像可以正常工作,但对于较小的图像,它会根据报告元素的宽度或高度放大(拉伸,影响图像质量)。
<image scaleImage="RetainShape" hAlign="Center" vAlign="Middle">
<reportElement x="10" y="10" width="534" height="300"
<imageExpression><![CDATA[$P{originalImage}]]></imageExpression>
</image>
我们可以动态设置 scaleImage
属性 吗?如果(图片很大)scaleImage="RetainShape"
else scaleImage="Clip"
对于那些正在为类似场景寻找答案的人... 因此,正如 Alex 所建议的,我创建了一个条件样式并将其应用于图像标签
<style name="scaleImageStyle" hImageAlign="Center" vImageAlign="Middle">
<conditionalStyle>
<conditionExpression><![CDATA[$P{originalImage}.getHeight(null) <=300]]></conditionExpression>
<style scaleImage="Clip"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$P{originalImage}.getHeight(null) >300]]></conditionExpression>
<style scaleImage="RetainShape"/>
</conditionalStyle>
</style>
<image hAlign="Center" vAlign="Middle">
<reportElement style="scaleImageStyle" isPrintRepeatedValues="false" x="0" y="0" width="535" height="300" uuid="d813ec39-6f47-4361-9d82-c312924c2ba0"/>
<imageExpression><![CDATA[$P{originalImage}]]></imageExpression>
</image>