以编程方式设置数据库中图像的高度/宽度

时间:2009-02-07 16:16:43

标签: asp.net asp.net-2.0

我无法一致地设置img标签的宽度和高度。 img src是从数据库中动态提取的。从数据库中提取的图像可以具有不同的宽度和高度,因此我需要设置img控件。有时宽度和高度设置正确,有时它们不是。我无法弄清楚为什么。任何帮助将不胜感激。谢谢!

以下是我现在正在做的事情。

try
    {
        byte[] byteArray = GetImage();
        using (Bitmap bmp = ByteArrayToBitmap(byteArray))
        {
            //image is the img tag.
            image.Style["width"] = bmp.Width.ToString();
            image.Style["height"] = bmp.Height.ToString();
        }
    }
    catch (Exception ex)
    { }

编辑:这似乎仅在IE中存在问题。 Chrome和Firefox似乎运行良好。此外,如果浏览器刷新,IE7不显示具有适当高度/宽度的图像,则显示正确。有时...

2 个答案:

答案 0 :(得分:2)

这是因为您需要删除标记的width和height属性。只需更改CSS图像的宽度和高度值就行不通了。

尝试类似的东西,这是在Javascript;


imageTag.removeAttribute('width');
imageTag.removeAttribute('height');

答案 1 :(得分:2)

看看你的代码,我会建议另一种方法;既然你已经在字节数组中有了一个图像副本,为什么不让你的应用程序调整图像大小并将可预测的大小返回给客户端呢?您将获得不用担心不同浏览器如何调整大小并可能降低图像质量的好处。

这里的例子...... http://www.west-wind.com/Weblog/posts/283.aspx