什么';iOS浏览器在不进行下采样的情况下显示的最大图像大小是多少?
标题是什么;基本上,如果在iOS浏览器(比如iPhone)中显示图像,当图像尺寸超过某个限制时,图像将进行下采样,并以原始分辨率的一小部分显示(即什么';iOS浏览器在不进行下采样的情况下显示的最大图像大小是多少?,ios,browser,mobile,Ios,Browser,Mobile,标题是什么;基本上,如果在iOS浏览器(比如iPhone)中显示图像,当图像尺寸超过某个限制时,图像将进行下采样,并以原始分辨率的一小部分显示(即1/n原始图像的像素数) 我猜,这是一种避免因内存不足而导致图像尺寸过大时浏览器崩溃的方法 我的问题是,在WebView(或浏览器)开始每n个像素采样之前,图像尺寸的上限是多少 示例:当显示5760×1800的图像时,它在浏览器中被降采样为1440×450(比例为1:4)。刚刚完成了一些测试,似乎iOS(至少在iOS 4.2.1的iPhone 3GS上
1/n
原始图像的像素数)
我猜,这是一种避免因内存不足而导致图像尺寸过大时浏览器崩溃的方法
我的问题是,在WebView(或浏览器)开始每n个像素采样之前,图像尺寸的上限是多少
示例:当显示5760×1800的图像时,它在浏览器中被降采样为1440×450(比例为1:4)。刚刚完成了一些测试,似乎iOS(至少在iOS 4.2.1的iPhone 3GS上)在图像达到1024px限制时会对图像进行降采样。任何超过此大小的图像都会按第n个像素对其像素进行采样,其中n是生成维度的最小除数,出于某种原因,Safari mobile正在减小大小,但幸亏有一种方法可以使用以下方法强制css中的实际大小:
-webkit-background-size: widthpx heightpx;
-webkit-background-size:980px 2574px;
/* (simply put in the exact size of the wrapper image) */
最初在这里发现:
根据苹果的文档,JPEG和其他文件格式之间有一点不同
- 对于GIF、PNG和TIFF,如果设备的ram小于256MB 最大大小为300万像素。如果设备的容量超过256MB,则 限制为500万像素
- 对于JPEG,最大大小始终为200万像素
ratio = √(2 * 1024 * 1024) / √(5760 * 1800)= √2097152 / √10368000 ≈ 1448.154 / 3219.937 ≈ 0.449746
optimal_width = 5760 * ratio ≈ 2590 // it's better to approximate 1 pixel smaller
optimal_height = 1800 * ratio ≈ 809 // else the image is quickly too big since we multiply each dimensions
optimal_size = 2590 * 809 = 2095310 // less than 2097152
限制来源:(了解iOS资源限制部分)这并不能解决下采样问题。