| Re: разрезка на тайлы [сообщение #100189 является ответом на сообщение #100177] |
пт, 02 июля 2010 10:42  |
|
|
| Chartpilot писал(а) чт, 01 июля 2010 23:47 | Режется так:
Возьмём тот же uu.jpg (484х382 px)
convert uu.jpg -crop 200x100 unew_%d.jpg
В результате в текущем каталоге
unew_d-0.jpg (200x100)
unew_d-1.jpg (200x100)
unew_d-2.jpg (84x100)
Причём не надо чтобы было кратно — крайние просто будут урезаны.
|
А режет он горизонтальными проходами или вертикальными?
Для Я-карт надо вертикальными (хотя обычно встречал горизонтальные) и я не уверен, что правильно последнюю урезать. Надо попробовать....
...
Блин, не все так просто! Надо же создавать несколько слоев тайлов. Т.е. каждый раз картину сжимать вдвое и делать новый слой.
Алгоритм для непривязанных карт там такой: кол-во пикселов по длиной стороне делим на 256 и получаем кол-во тайлов по длиной стороне. Далее находим логарифм этого числа по основанию 2. Округляем к бОльшему целому значению. Полученное число будет номером слоя (верхний = 0). Для плавного зума надо сделать почти все промежуточные слои от 0 до нужного. Но 0, 1 и возможно второй делать не надо, в зависимости от размеров окна. Т.е. имеет смысл выбрать слой когда карта занимает его почти целиком, а не находится в виде точки в уголке.
В Я-картах:
О уровень - 1 тайл (виртуальное разрешение таково, что на 256 пикселей должно помешать 40000000 метров, т.е. весь земной шар в развертке)
1 уровень - 2 тайла
2 - 4
3 - 16
и т.д.
[Обновления: пт, 02 июля 2010 10:49] Известить модератора
|
|
|
|