2004 IR Help Posted August 23, 2006 Share Posted August 23, 2006 By: Manfred Moser - mosabua How can I achieve dynamic image element size? 2005-09-23 10:59 Hi! I am currently trying to achieve a dynamic image size in a report and I am a bit stuck. Here is what I do and would like to achieve: I have a subreport that has an image field. This field is filled by an io stream containing a png image file. The pixel size of this image should be configurable to the user and therefore is only known at runtime. At this stage I think that there is no way to get the image displayed in the original size whatever it is. The "Retain Shape" scaling makes the image smaller. The "Clip" scaling just cuts it off and the "Fill Frame option fills the image element without changing the size of the element itself. So if the image is larger than the element it actually gets squashed. If the image is smaller empty space stays behind (as far as I understand anyway). I would like another option that changes the image element to the size of the image instead of scaling the image. The only way I think I can achieve this at the moment is to change my report design on the fly, compile it anew with the new size and fill it. That is however a huge overhaul of my architecture since I did not need on the fly report compilation until know. Can I maybe do some adjustment just before I export to PDF? Any other options? Should I launch a feature request? Any help would be awesome. Manfred Link to comment Share on other sites More sharing options...
bogleg20 Posted January 27, 2007 Share Posted January 27, 2007 I'm having the same problem, where I don't know the size of the image until runtime and I want it to display at its original size. Anyone know if this is possible? I need this for my current project so any reply would be helpful. Thanks! ChrisPost edited by: bogleg20, at: 2007/01/26 21:55 Link to comment Share on other sites More sharing options...
StackTrayce Posted May 3, 2007 Share Posted May 3, 2007 A bump from me, I am also working on trying to get the image size from the data at report run time. I have considered the modify JasperDesign and recompile option and was also wondering about setting the width and height to java expressions or parameters. If anyone has any insight on this it would be much appreciated. Link to comment Share on other sites More sharing options...
Teodor Danciu Posted May 3, 2007 Share Posted May 3, 2007 Hi, The image element in JR does not adapt its size to the actual image size.This was added as a feature request here:http://jasperforge.org/sf/go/artf1404?nav=1but it would be fairly hard to implement. The only solution right now is to make the image element as big as you think the actual image could be and use scaleImage="Clip". But the problem is that document content would not move around to accommodate the actual image size and you end up having empty space around the image when it is smaller that the maximum size. With reasonable effort, I guess we could make image elements adapt their height to the actual image height, just like text fields do right now when they have isStretchWithOverflow="true". Elements below the image would get pushed if they have positionType="Float".But what would be difficult to do, given the way JR works, is to make the image also adapt its width. This is because people would expect elements placed at the right of the image to be pushed further to the right, when the image expands to its normal width. No element in JR is able to do that right no and I doubt they will do in the future. Thanks,Teodor Link to comment Share on other sites More sharing options...
jan.du.toit Posted May 21, 2008 Share Posted May 21, 2008 Hi. Has this situation changed recently with new releases (maybe the latest version 3.0.0 release; nothing mentioned in changelog) ? We are in desperate need for such functionality. After a long investigation in different reporting engines (JR, Crystal, etc.) we decided on Jasper, but the lack of such functionality will probably force us to change our decision 30% into the project! In my opinion this is a basic functionality and therefore it was taken as given by us. :( :unsure: Please help!Regards. PS: The 'project' metioned above is not a normal project with a 'reporting' element to it. It is a custom high level Reporting Engine for a specific Business Domain. Link to comment Share on other sites More sharing options...
tomkast Posted March 11, 2010 Share Posted March 11, 2010 this works:Code: BufferedImage img = ImageIO.read(new File(wo_image_path)); height = img.getHeight(); width = img.getWidth(); jasperSubDesign = JasperManager.loadXmlDesign(context.getRealPath("/WEB-INF/reports/decoration_sheet_header.jrxml")); JRDesignImage image = (JRDesignImage)jasperSubDesign.getPageHeader().getElementByKey("wo_image"); image.setX(3); image.setY(69); image.setHeight(new Long(height - Math.round(height*.35)).intValue()); image.setWidth(new Long(width - Math.round(width*.35)).intValue()); JasperCompileManager.compileReportToFile(jasperSubDesign, context.getRealPath("/WEB-INF/reports/decoration_sheet_header.jasper")); Link to comment Share on other sites More sharing options...
tomkast_1 Posted July 26, 2014 Share Posted July 26, 2014 I tried TD idea of using "clip" and a big enough element to accomodate all possible images... ...but i still see images coming out bigger. more specifically, with ireports 3.6.1, and a jpeg that has a width of 281 px, 72 dpi, the html export has an image tag with a width of 496 px. the image in the html export is ok/still 281 px width, but the tag is stretching it to make it bigger. all i need is for the image size to remain unchanged and supporting dynamic images.... ?? any help appreciated much. Link to comment Share on other sites More sharing options...
tomkast_1 Posted July 26, 2014 Share Posted July 26, 2014 I tried TD idea of using "clip" and a big enough element to accomodate all possible images... ...but i still see images coming out bigger. more specifically, with ireports 3.6.1, and a jpeg that has a width of 281 px, 72 dpi, the html export has an image tag with a width of 496 px. the image in the html export is ok/still 281 px width, but the tag is stretching it to make it bigger. all i need is for the image size to remain unchanged and supporting dynamic images.... ?? any help appreciated much. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now