0

我们有两个图像。

Image tempImage = new Image();
tempImage.width = 500;

Image tempImage2 = new Image();
tempImage2.width = 1000;

我想比较这些图像的宽度并找到宽度更大的图像:

我试过以下:

if (tempImage.Width < tempImage2.Width) Response.write("width of tempImage2 is bigger");
else Response.write("width of tempImage1 is bigger");

编译器出错:无法比较这两个值。

我试过以下:

    Image1.Width = (int)Math.Max(Convert.toDouble(tempImage.Width),Convert.toDouble(tempImage2.Width));
Response.Write("max width is " + Image1.Width);

编译器无法将宽度转换为双倍。

那么如何比较图像的宽度并找到宽度更大的图像呢?

4

3 回答 3

3

您收到错误是因为 Image 的 Width 属性是Unit 结构类型,而不是标量,并且没有为它实现比较运算符。

if (i.Width.Value < j.Width.Value) 

将起作用,但该比较仅在单元的类型相同时才严格有效。在您的示例中,它默认为像素,但在更一般的情况下,您需要确保您正在比较相同单位的值。

于 2012-08-23T19:31:05.943 回答
1

这对我有用:

protected void Page_Load(object sender, EventArgs e)
{
    Image tmp1 = new Image();
    Image tmp2 = new Image();

    tmp1.Width = new Unit(500);
    tmp2.Width = new Unit(1000);

    Response.Write(tmp1.Width.Value < tmp2.Width.Value);
}

祝你好运!

于 2012-08-23T19:14:47.153 回答
0

我会先将宽度放入 var 中,然后进行比较。

  int width1 = image1.Width.Value;
  int width2 = image2.Width.Value;

 if(width1 < width2){
  //apply code   }
于 2012-08-23T19:16:42.893 回答