我试图获得一个asp:Image的像素宽度。图像不是本地的。
imgUserThumb.Width.Value
总是回归0.0,任何人都知道为什么?或许这不是正确的方式? 此外,图像使用“onerror”属性来检查传递给它的图像URL是否有效,如果没有,则显示默认缩略图。
答案 0 :(得分:1)
如果没有为图片标签设置宽度和高度,则会得到0.
如果您需要获得图像的实际大小,请将其加载到位图并从那里获取宽度。
Image img = new Bitmap("Mytest.png");
var imgwidth = img.Width;
private int GetImageWidth(string url)
{
int width = 0;
using (WebClient client = new WebClient())
{
client.Credentials = new NetworkCredential("name", "pw");
byte[] imageBytes = client.DownloadData(url);
using (MemoryStream stream = new MemoryStream(imageBytes))
{
var img = Image.FromStream(stream);
width= img.Width;
}
}
return width;
}