Автор: o22
Дата сообщения: 15.01.2009 12:30
Не совсем понял. А как GMV сам распознает где карта а где ландшафт, если он все в одну папку кидает ?
Внесу свою лепту в пожелания.
Просьба добавить еще один режим склейки, который сдалать несложно, но он должен быть полезен. Объясню на примере.
Я скачиваю какой-то регион и хочу его склеить. Так как регион большой, то я решаю разбивать его на фрагменты. Например я хочу, чтобы получилось 9 фрагментов (3*3) и чтобы они были одного размера.
Если начать подбирать размер фрагмента вручную, то может получиться что-то вроде:
--------------------
| | | |
| | | |
| | | |
| | | |
|-------------------
| | | |
| | | |
| | | |
| | | |
|-------------------
| | | |
| | | |
--------------------
То есть размер нижних и правых фрагметнов будет определен по остаточному принципу.
Есть 2 пути - подбирать размер фрагмента вручную (причем размер нужно подбирать и по горизонтали и по вертикали) или производить расчеты, зная что размер тайла равен 250 пикселов (берем количество тайлов по горизонтали*250/кол-во желаемых фрагментов и те-же вычисления по вертикали). И то и другое достаточно нудно.
То предложение состоит в том, чтобы сделать по CheckBox режим: Разбить на фрагменты
И два подрежима (RadioButton):
Размером : [___] x [___]
Количеством :[___] x [___]
Тогда, указав 3x3, программа делает необходимые вычисления сама и на выходе получаем одинаковые куски. Ясно, что если количество тайлов не делится на фрагменты без остатка, то последние фрагменты могут получиться чуть меньше или больше остальных, но это не будет той картиной, которая приведена выше. Хотя если резать тайл пополам (что похоже так и делается у тебя сейчас), то и этого можно избежать. Но это уже не принципиально, особенно для больших изображений.
Второе предложение посложнее. Если я выделяю регион для склейки, а у меня по краям отсутствуют закачанные тайлы, то в режиме склейки только из кеша по краям возникают черные рамки. Неплохо-бы в результирующем изображении их сразу отсекать (или сделать опцию, если вдруг кому-то понадобится). Тут алгоритм такой, что идем по всем краям и ищем ряды, по которым нет ни одного тайла, отсекая их.
Это нужно потому, что мы, находясь на верхнем слое и склеивая более подробный, не видим что имеется в кеше, получая на выходе пустоты.
Надеюсь, что доходчиво все расписал, если нужно, более подробно распишу.