在HTML5中对图片/背景进行Mipmapping(LOADing)

时间:2014-11-27 22:17:07

标签: javascript html css html5 canvas

这个让我很难过 - 我想知道如何正确实现网页上使用的图片的mipmapping,主要是网上商店。

我想实现类似GoogleMaps的高分辨率图像缩放。

这里的问题不是制作图像浏览器,而是解决方案的有效性和响应性。

我可以加载双分辨率图像并将其放在256x256框中。当用户滚动(或执行等效的多点触控手势)时,该框将放大至512像素,而大约480像素将放大1024像素图像  预加载等等,直到我们达到4096px的屏障,当没有更高的变焦或分辨率可用时(或者变焦现在是“数码变焦”)。

假设我们有一个特定bpp的位图,可以使256x256px图像的大小为100 KB。在简单地将图像切换到512x512版本时,相同的100 KB将翻两倍到400 KB,但问题只需要300 KB,因为我们已经拥有图像的四个像素之一(假设使用了最近邻法)调整图像大小/缩小图像)。我们只需要通过加载其他行/列并将这些图片合并到一个256x512或512x256像素中来加倍行/列,然后对第二维执行相同的操作。

这让我想知道:

  • 当前的计算机/浏览器/设备是否足够强大,无法显着降低性能?
  • 这甚至可能吗?怎么样?
  • 毕竟有任何遗产吗?

...谢谢


编辑1:(来自评论):问题主要是关于保存带宽和/或最小化服务器负载,每张照片必须提供8张图片(图片大小) “分层”)或服务于一个大的(在文件大小方面)图像,以节省流量和工作量。大多数人不打开/缩放图像,但我也想要谷歌地图的“渐进”行为(尝试加载地图并放大)。


示例1

这是Imagick所说明的过程。文件名的格式为x1-y1-x2-y2.ext:

convert 1-1-256-256.jpg 1-257-257-512.jpg +append -crop 256x1 +repage -append 1-1-256-512.jpg;
convert 1-1-256-512.jpg.jpg 257-1-512-512.jpg.jpg -rotate 90 +append -crop 512x1 +repage -append -rotate 270 1-1-512-512.jpg;

示例2

制作单个4096x4096隔行扫描PNG并加载单个传递? (只加载第一遍,然后加载另一部分等)

0 个答案:

没有答案