图像调整asp.net中的问题

时间:2012-03-28 10:11:32

标签: c# asp.net

我有一个img标签

<asp:Image ID="imgCatalog" ImageAlign="middle"    Height='<%#GetImageWidth(Eval("PictureName")) %>' ImageUrl='<%#GetImageUrl(Eval("PictureName")) %>'   runat="server"/>

我想在加载页面时调整每个图像的大小,我使用了GetImageWidth函数。

public Unit GetImageWidth(object ImageName)
{
    string strimagename = Convert.ToString(ImageName);
    //string strimagewidth = "";
    int width = 0;
    if (System.IO.File.Exists(Server.MapPath(GetImageUrl(strimagename))))
    {
        System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath(GetImageUrl(strimagename)));
        if (img.Height > 1000)
        {
            //strimagewidth = "535px";
            **width = 535;**
            ------------
        }
        else
        {
            //strimagewidth = img.Width.ToString() + "px";
            width = img.Width;
        }
        img.Dispose();
    }

    return Unit.Pixel(width);
}

我想设置图像高度而不是图像宽度。但我没有得到函数内的高度属性。可以任何身体帮助

3 个答案:

答案 0 :(得分:1)

使用:

Image.GetThumbnailImage(width, height, null, IntPtr.Zero)

您可以在此处指定图像的高度和宽度。

答案 1 :(得分:1)

对于Height属性值,您正在调用当前返回宽度的GetImageWidth函数。你有类似的方法返回高度吗?根据您的自定义条件返回图像高度的一些东西?有点像这样吗?

public Unit GetImageHeight(string ImageName)
{
    int height= 0;
    if (System.IO.File.Exists(Server.MapPath(GetImageUrl(ImageName))
    {
        System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath(GetImageUrl(ImageName)));
        if (img.Width > 1000)                      
           height = 535;        
        else
            height= img.height;

        img.Dispose();
    }
    return Unit.Pixel(height);
 }

答案 2 :(得分:0)

也许必须这样做才能设置Height,但是你可以调用width

Height=getWidth()