0

有没有办法在 iPad 上获得 naturalWidth ?

我想要达到的目标

目前我正在开发一个测验应用程序,它有一个点区域问题类型。要回答这个问题,用户必须在图像上指出一个位置。该位置被提交到服务器,如果单击的位置在正确的区域内,服务器将返回一个布尔值。

它可以在所有浏览器上完美运行,如果图像不太大,它也可以在 ipad 上运行。当图像太大时,它会自动调整大小以适应屏幕。现在点击图像上的某个点会给出不同的坐标,然后它会保持原始大小。

我发现自动调整大小与 ipad 的资源限制有关。显然我无法阻止这一点,但这不是什么大问题。我只想知道调整大小使用了什么因素。

为了得到这个因子,我需要原始宽度和实际宽度。

4

1 回答 1

0

我已经通过让服务器将图像的宽度作为 HttpHeader 发送来修复它(服务器端语言是 VB)

Dim objImage As Image = Image.FromFile(strFilePath.ToString())
context.Response.AddHeader("imagewidth", objImage.Width.ToString())
context.Response.ContentType = "text/plain"

在下面,您会看到我如何在客户端检索它:

cacheImage.imageWidth = $.ajax( arguments[i] + '&returnsize=true', { async: false } ).getResponseHeader( 'imagewidth' );

arguments[i] 是以媒体 id 作为参数的媒体加载器的 url。

返回大小=真

我不需要每种媒体类型的宽度。只有当我在请求之后放置 returnsize=true 时,我才会得到媒体项的宽度。

于 2012-04-24T07:24:01.817 回答