我正在尝试为网络显示创建一个可缩放的图像,并且遇到了多个来源以使其工作;传单,openlayers等我已经看过并遵循了一些很好的教程。 Pedro's
但是,我首先要了解创建图像的最佳做法?似乎要实现10+的缩放级别,我需要一个非常大的图像开始。尝试在Adobe Illustrator或Photoshop中执行此操作似乎是一个坏主意? Illustrator只能达到16383 x 16833,而photoshop将会达到262,144,但对我的cpu来说太过紧张了。
截至目前,我正在使用一个用于photoshop的瓷砖切片插件,这是一个很慢的过程。
我的问题是:从巨大的图像开始,是获得更高缩放级别的最佳方法吗?或者有没有办法切片图像,然后切片图像的切片?
如果我需要从一个巨大的图像开始,有没有办法在像photoshop这样的程序之外升级我的图像?
如果我可以切片最好的方法是什么?
非常感谢你的帮助和时间,非常感谢!
-earl -
答案 0 :(得分:0)
是的,你需要从一个巨大的图像开始。如果您的源是矢量绘图,您可以保存为PDF或SVG之类的东西,并在另一个程序中执行高分辨率渲染。请参阅下面的示例。
gdal2tiles
是一件好事,可以做很多投影,但对于简单的栅格平铺金字塔来说它很慢并且需要大量内存。 RAM dzsave
速度更快,效率更高。在这台带有25k x 25k RGB JPG文件的笔记本电脑上,我看到了:
$ time gdal2tiles.py -p raster ../wac_nearside.jpg x
Generating Base Tiles:
0...10...20...30...40...50...60...70...80...90...100 - done.
Generating Overview Tiles:
0...10...20...30...40...50...60...70...80...90...100 - done.
real 3m51.728s
user 3m48.548s
sys 0m2.992s
peak memory 400mb
但是dzsave
我看到了:
$ time vips dzsave ../wac_nearside.jpg y --suffix .png
real 0m36.097s
user 1m39.900s
sys 0m6.960s
peak memory 100mb
它会更快,但几乎所有的时间都花在PNG写上。 dzsave
也会自动为您进行居中,因此无需额外的gdal_translate
步骤。
与JPG文件一样,vips可以使用比例因子加载PDF和SVG。例如:
$ time vips dzsave ../ISO_12233-reschart.pdf[dpi=5000] y --suffix .png
real 3m11.029s
user 8m58.520s
sys 0m35.504s
peak memory 850MB
将ISO校准图表渲染为5,000 DPI,生成78740 x 47244像素的图像。 vips内存使用具有图像宽度的比例,因此对于10,000 DPI渲染,您需要大约1.5gb的ram。