I created RDLC report layouts by using Visual Studio Report Designer.
I need to display image on textbox.
The image was set center align by Chris Hays 's method.
But This method must set sizing to be "Clip"
So It has a problem because when Image which it was getting from database is bigger than textbox. It would clipped like below.
I tried to use sizing with "Fit Proportional" Mode. It can't set centered image by Chris Hays 's method.
But if I use sizing with "Fit to size". I can ignore centered image. But if some image is very small. It will lose quality.
What should I do if I need to
1.Centered image
2.Fit to textbox if image is bigger than textbox.
3.Original size if image is smaller that textbox.
If you're using the same sizes of the tutorial you could try and set the Sizing
property by using the following expression:
=IIF(Round((3.5-System.Drawing.Image.FromStream(new System.IO.MemoryStream(CType(Fields!LargePhoto.Value,Byte()))).Width
/96)/2,2)>0, "Clip", "Fit")
I can resolved this problem by created two image control.
First image control -It was set sizing "Fit"
Second image control- It was set sizing "Clip" and used Chris Hays 's method for centered image.
Both two image controls was set Visibility property by expression
if a width of image is bigger than textbox , First image control will show and second will hide.
if a width of image is smaller than textbox , First image control will hide and second will show.
I can get a width of image by this code
=(System.Drawing.Image.FromStream(new System.IO.MemoryStream(CType(First(Fields!FILE_BINARY_DATA.Value, "My Table"),Byte()))).Width /96)
96 is dpi
After I known a width of image from above expression.
I will use it for set Visibility Property of First Image like these
=iif((imgWidthInch.Value > 2.6 ),false,true)
2.6 is widht of my textbox.
And Set Visibility of Second Image by the other hand.