SASGIS - SAS.Планета
View Issue Details
0003389SAS.Планета[All Projects] Хотелкаpublic02-01-2019 11:4713-01-2019 13:00
vdemidov 
vdemidov 
normalminoralways
resolvedfixed 
Windows7Enterprise
181221 
190707190707 
0003389: Поддержка формата webp для тайлов
Судя по всему, webp добирается и до картсервисов. Пора прикручивать его поддержку. Для начала, хотя бы в режиме чтения
http://www.sasgis.org/forum/viewtopic.php?p=47524#p47524
> Mapbox перебрался на webp кто знает как написать?
> https://b.tiles.mapbox.com/v4/mapbox.satellite/9/348/177.webp?access_token=pk.eyJ1IjoiamN6YXBsZXdza2kiLCJhIjoiWnQxSC01USJ9.oleZzfREJUKAK1TMeCD0bg

No tags attached.
parent of 0003390resolved zed FreeImage - включить поддержку чтения/записи в формат webp 
related to 0003397resolved zed Ошибка, при запуске в Windows XP 
? 177.webp (21,006) 02-01-2019 11:47
https://bugtracker.sasgis.org/file_download.php?file_id=2257&type=bug
Issue History
02-01-2019 11:47vdemidovNew Issue
02-01-2019 11:47vdemidovFile Added: 177.webp
02-01-2019 11:47vdemidovStatusnew => confirmed
02-01-2019 11:48vdemidovDescription Updatedbug_revision_view_page.php?rev_id=7338#r7338
02-01-2019 13:25zedNote Added: 0018468
02-01-2019 13:55vdemidovNote Added: 0018469
02-01-2019 18:35zedNote Added: 0018470
03-01-2019 06:00vdemidovNote Added: 0018471
03-01-2019 10:53zedRelationship addedparent of 0003390
03-01-2019 11:43zedNote Added: 0018473
03-01-2019 13:15vdemidovNote Added: 0018474
03-01-2019 13:23zedNote Added: 0018475
03-01-2019 13:32vdemidovNote Added: 0018476
03-01-2019 13:45zedNote Added: 0018477
03-01-2019 14:01vdemidovNote Added: 0018478
03-01-2019 20:42vdemidovNote Added: 0018479
03-01-2019 20:50zedNote Added: 0018480
03-01-2019 21:01vdemidovNote Added: 0018481
03-01-2019 21:03vdemidovNote Edited: 0018481bug_revision_view_page.php?bugnote_id=18481#r7340
04-01-2019 12:59vdemidovStatusconfirmed => resolved
04-01-2019 12:59vdemidovFixed in Version => .Nightly
04-01-2019 12:59vdemidovResolutionopen => fixed
04-01-2019 12:59vdemidovAssigned To => vdemidov
13-01-2019 12:59zedFixed in Version.Nightly => 190707
13-01-2019 13:00zedRelationship addedrelated to 0003397

Notes
(0018468)
zed   
02-01-2019 13:25   
FreeImage поддерживает этот формат, так что добавить поддержку будет не сложно.
(0018469)
vdemidov   
02-01-2019 13:55   
Как минимум нужно перекомпилировать либу с поддержкой webp. А потом добавить поддержку нужного формата в САС. Так что не сложно, но и не совсем тривиально.
(0018470)
zed   
02-01-2019 18:35   
Могу пересобрать библиотеку, если хочешь заняться.
(0018471)
vdemidov   
03-01-2019 06:00   
> Могу пересобрать библиотеку, если хочешь заняться.
Давай. Попытаюсь найти время.
(0018473)
zed   
03-01-2019 11:43   
Собрал.
(0018474)
vdemidov   
03-01-2019 13:15   
А как оно будет себя вести, если новый делфийский код запустится со старой dll, и захочет, например сохранить тайлы в формат webp? Выбросит ексепшен?
(0018475)
zed   
03-01-2019 13:23   
Да, вот здесь или здесь.

Аналогично, будет исключение и при загрузке неизвестного формата.
(0018476)
vdemidov   
03-01-2019 13:32   
Ну, при чтении там понятно. Меня волнует только что бы TFreeBitmap.SaveToStream адекватно отработал с неизвестнымм типом картинки.
(0018477)
zed   
03-01-2019 13:45   
В чём может быть неадекватность по-твоему? AV что-ли? Нет, такого точно не будет.
(0018478)
vdemidov   
03-01-2019 14:01   
> AV что-ли? Нет, такого точно не будет.
Ну мало ли. Вечером постараюсь добавить поддержку.
(0018479)
vdemidov   
03-01-2019 20:42   
В первом приближении работает. А вообще нужно переделывать работу с сейверами для битмапок.
(0018480)
zed   
03-01-2019 20:50   
Зачем переделывать?
(0018481)
vdemidov   
03-01-2019 21:01   
(edited on: 03-01-2019 21:03)
Ну, например, что бы можно было задать дефолтный формат сохранения тайлов в хранилище с конкретными параметрами, а не просто всегда использовать дефолтный. Например задать восьмибитный png для сохранении разрезаемых или обрезаемых при скачивании тайлов. Или качество джепега при тех же операциях.

Например в params.txt добавляем запись
StoreContentType=image/jpeg; qulity=80
и будет сохраняться с качеством 80, а не 75