2012-08-09 95 views
3

我在IE8加载图片如下:默认图像尺寸在IE8

var img = document.createElement('img'); 
img.src = 'images/starnohighlight.png'; 

图像是30x30px @建议使用150dpi分辨率。

当我将图像添加到页面:

td.appendChild(img); 

的图像以324x308更放大尺寸显示。我知道我可以简单地将它强制为30x30,因为我知道源图像的尺寸,但我更喜欢在磁盘上提供30x30的图像并将其显示为原始大小。如果我需要更改图像的分辨率(比如72dpi),那么也可以,或者我至少可以在代码中说明这一点。

我还没有在其他浏览器上测试,只是因为我目前没有任何访问权限。

所以,问题,总结:我怎么能显示一个图像加载如上以原生尺寸?

编辑

我也有同样的结果尝试这样做:

var imgObj = new Image(); 
imgObj.src = 'images/starnohighlight.png'; 

我已经删除从文档中的所有样式。仍然是同样的问题。

+1

我想你可能已经将一些CSS应用到'img'标记中,使它能够以这种方式呈现。它不应该默认这样做。在IE开发工具(F12)中查找'img'标签上的计算样式。 – Strelok 2012-08-09 00:58:24

+0

感谢您的回答。看我的编辑。另外,我删除了所有的CSS链接。我仍然有同样的问题。不幸的是,我无法访问开发工具(argh!)。 – mkingston 2012-08-09 01:03:30

+0

很奇怪。看看这个jsfiddle:http://jsfiddle.net/2JwXF/你可以看到它非常简单,img以原始大小显示。现在我不得不问:你是** 100%**正面你提供的图像是30px x 30px?介意分享图片的链接? – Strelok 2012-08-09 01:09:51

回答

3

如果您显示的图像像这样,没有其他设置影响它,它将以原始大小显示

图像中的分辨率(PPI或DPI)设置被浏览器忽略,因此更改该设置将不起作用。

如果图像没有以原始大小显示,则会有其他设置影响图像标记。您可以在IE中使用开发人员工具(F12)来检查哪些样式实际上影响元素。

+0

感谢您的回答。看我的编辑。另外,我删除了所有的CSS链接。我仍然有同样的问题。不幸的是,我无法访问开发工具(argh!)。 – mkingston 2012-08-09 01:04:06