Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 如果图像大于文本框,如何调整图像大小。但如果图像小于文本框,则不会增加比例_Image_Reporting Services_Rdlc_Rdl - Fatal编程技术网

Image 如果图像大于文本框,如何调整图像大小。但如果图像小于文本框,则不会增加比例

Image 如果图像大于文本框,如何调整图像大小。但如果图像小于文本框,则不会增加比例,image,reporting-services,rdlc,rdl,Image,Reporting Services,Rdlc,Rdl,我使用VisualStudio报表设计器创建了RDLC报表布局 我需要在文本框上显示图像。 使用的方法将图像设置为中心对齐。 但此方法必须将大小设置为“剪辑” 所以它有一个问题,因为当它从数据库中获取的图像大于文本框时。它会像下面那样剪短 我尝试使用“适合比例”模式调整尺寸。无法使用的方法设置居中图像 但如果我使用“适合尺寸”的尺码。我可以忽略中心图像。但是如果某个图像非常小。它将失去质量 如果我需要怎么做 1.图像居中 2.如果图像大于文本框,则适合文本框 3.原始大小如果图像小于该文本框

我使用VisualStudio报表设计器创建了RDLC报表布局

我需要在文本框上显示图像。 使用的方法将图像设置为中心对齐。 但此方法必须将大小设置为“剪辑”

所以它有一个问题,因为当它从数据库中获取的图像大于文本框时。它会像下面那样剪短

我尝试使用“适合比例”模式调整尺寸。无法使用的方法设置居中图像

但如果我使用“适合尺寸”的尺码。我可以忽略中心图像。但是如果某个图像非常小。它将失去质量

如果我需要怎么做

1.图像居中

2.如果图像大于文本框,则适合文本框


3.原始大小如果图像小于该文本框。

如果使用与本教程相同的大小,可以尝试使用以下表达式设置
大小
属性:

=IIF(Round((3.5-System.Drawing.Image.FromStream(new System.IO.MemoryStream(CType(Fields!LargePhoto.Value,Byte()))).Width
/96)/2,2)>0, "Clip", "Fit")

我可以通过创建两个图像控件来解决这个问题

第一个图像控件-设置大小为“适合”

第二个图像控制-设置大小“剪辑”,并使用Chris Hays的方法对中心图像进行调整。

这两个图像控件都是通过表达式设置可见性属性的

如果图像的宽度大于文本框,第一个图像控件将显示,第二个将隐藏

如果图像宽度小于文本框,则第一个图像控件将隐藏,第二个将显示

我可以通过这个代码获得图像的宽度

       =(System.Drawing.Image.FromStream(new System.IO.MemoryStream(CType(First(Fields!FILE_BINARY_DATA.Value, "My Table"),Byte()))).Width /96)
96是dpi

从上面的表情中我知道了图像的宽度。 我将使用它来设置第一幅图像的可见性属性,如下所示

     =iif((imgWidthInch.Value  > 2.6  ),false,true)
2.6是我的文本框的一部分


另一方面设置第二个图像的可见性。

我认为图像控件的大小属性不能用表达式设置。