0

2つの画像があります。

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");

コンパイラにエラーが発生します:これら2つの値を比較できません。

私は次のことを試みました:

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

コンパイラは幅をdoubleに変換できませんでした。

では、画像の幅を比較して、幅の広い画像を見つけるにはどうすればよいでしょうか。

4

3 に答える 3

3

画像の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

最初に幅を変数に入れてから比較します。

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

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