2012-08-23 107 views
0

我們有兩個圖像。比較圖像的尺寸asp.net

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

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

我想比較這些圖像的widthes,發現圖像具有更大的寬度:

我嘗試以下操作:

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

編譯器不能轉換寬度增加一倍。

那麼如何比較圖像的寬度並找到更大寬度的圖像呢?

回答

3

你得到的錯誤,原因是圖像的寬度屬性是Unit structure類型,而不是一個標量並沒有因爲它沒有實施比較操作。

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

會的工作,但比較嚴格的唯一有效的,如果單位的Type是一樣的。在你的示例中,它默認爲像素,但在更一般的情況下,你需要確保你正在比較同一單元的值。

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

祝你好運!

0

我會把寬度放入一個變種,然後比較它。

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

if(width1 < width2){ 
    //apply code } 
+0

錯誤:無法將寬度轉換爲int – Nurlan