Anonymous | Login | Signup for a new account | 22-11-24 02:31 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0001410 | SAS.Планета | [All Projects] Хотелка | public | 25-07-2012 10:34 | 13-10-2015 08:20 | ||||||||
Reporter | Fetser | ||||||||||||
Assigned To | |||||||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||||||
Status | confirmed | Resolution | open | ||||||||||
Platform | Windows | OS | XP | OS Version | SP3 | ||||||||
Product Version | 110418 | ||||||||||||
Target Version | 30xxxx.Vip | Fixed in Version | |||||||||||
Summary | 0001410: Склейка в png с 256 цветной палитрой | ||||||||||||
Description | Тайлы карты яндекс имеют 128 уникальных цветов. После склейки картинки размером в экран имеем PNG 757 уникальных цветов 24 BPP (размер файла 1,49 Мб) при 8 BPP было бы 460 кб | ||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files | |||||||||||||
Notes | |
(0007888) Tolik (manager) 25-07-2012 10:40 |
Было бы полезно при склейке карт (не снимков) в png, т.к. при этом сильно уменьшается размер без существенного ухудшения качества. А для снимков в jpg 256 цветов недостаточно. |
(0007889) vdemidov (manager) 25-07-2012 10:57 |
С трудом представляю как это реализовать нормально. Просто для сохранения картинки в 8bpp нужно построить палитру цветов до начала сохранения. Причем в палитре не больше 256 цветов, а сколько их у нас будет по куче тайлов с слоями и метками один бог ведает. Вряд ли многие согласятся ждать в два раза больше времени, пока оно первый раз пройдет по всей картинке и построит гистограмму цветов, а потом по построенной палитре во второй проход склеит саму картинку. |
(0007890) vasketsov (manager) 25-07-2012 11:07 |
Предусмотреть на будущее постобработку картинок. А там пусть сам себе каждый хоть в ASCII коды конвертирует и на ютуб выкладывает. |
(0007891) vdemidov (manager) 25-07-2012 11:15 |
Так уже предусмотрена пост обработка. IBitmapPostProcessingConfig Сейчас она только гамму, яркость и контрастность подкручивает, но можно и к палитре подгонять. |
(0007892) vasketsov (manager) 25-07-2012 11:35 |
Я имел в виду чтобы до неё мог юзер дотянуться снаружи программно. Тру плагинъ то есть. |
(0007893) vdemidov (manager) 25-07-2012 11:40 |
И толку то? Все равно конечный формат нужно что бы склеивалка потом это учитывала. Так что плагин это склейка или экспорт в конечный формат. |
(0007894) vasketsov (manager) 25-07-2012 11:53 |
Толк - вычисление палитры. |
(0007895) vdemidov (manager) 25-07-2012 11:58 |
Ну его нафиг. Экспорты и слкейки в конкретные форматы пусть строят палитру какую захотят. Внутри САС.Планеты работать с чем-то кроме 32bpp я смысла не вижу. |
(0007899) Parasite (administrator) 26-07-2012 03:53 |
>Я имел в виду чтобы до неё мог юзер дотянуться снаружи программно. Тру плагинъ то есть. А что мешает взять сведенное САСом и пересохранить в том же фотошопе с какой угодно палитрой и постобработкой? Прямо сегодня, всем желающим, и без допиливания САСа. Просто задача имхо настолько локальна и настолько элементарно делается вне САСа, что просить допилить под нее именно сас - ну, я даже и не знаю. Им волю дай - они весь функционал фотошопа перетащить в сас потребуют... :) PS: Чтобы не было потерь и артефактов - то в сасе сводить не в жпег а в БМП например. |
(0007901) vdemidov (manager) 26-07-2012 05:06 |
Ну, чисто теоретически, при сведении именно карты в png с палитрой, можно выиграть достаточно много места и времени если писать сразу с правильной палитрой, но как это реализовать я пока не знаю. Например можно перед склейкой получить пару сотен рендомо выбранных тайлов и по ним построить палитру, надеясь на то что выборка достаточно репрезентативная. |
(0007904) Parasite (administrator) 26-07-2012 05:31 |
>можно перед склейкой получить пару сотен рендомо выбранных тайлов и по ним построить палитру В итоге ВСЕ области, которые не попали в рандомную выборку и имеют уникальные цвета (например, озеро или еще какая точка\линия на карте, отметки знаков на дорогах и прочее, встречающееся далеко не на каждом тайле - но встречающееся) будут иметь весьма загадочный цвет по сравнению с оригиналом. Не, как по мне - так лучше гарантированные цвета и бОльший размер файла, чем такая отсебятина. Тем более учитывая то, что операция сведения весьма ресурсоемка, и в случае корявых результатов переделывать ее ни у кого не будет никакого желания. Глюки с корявыми цветами в ГИФе (ныне вылеченные) кажется я сюда добавлял с годик назад, насмотрелся... :) |
(0007906) vdemidov (manager) 26-07-2012 05:33 |
Ну, я в этом с тобой полностью согласен. Потому и Target Version такую поставил. |
(0007931) Papazol (reporter) 26-07-2012 12:06 |
Если речь идёт о склейке (а не об отображении в программе), то заморачиваться нет смысла. Ведь склеивают карты не тысячами. Кучи графических программ могут менять количество цветов в картинке. Обработать склееную карту - как два пальца об асфальт. Заодно и сразу будет видно, что получилось, может, глаза бы не глядели, тогда можно оставить оригинал. |
(0007938) vasketsov (manager) 26-07-2012 13:45 |
>можно перед склейкой получить пару сотен рендомо выбранных тайлов и по ним построить палитру Именно про это я и писал про плагины. Плагин построения палитры. Общий на всех (ля склеек и экспортов). |
(0007963) Fetser (reporter) 27-07-2012 13:02 |
Никак не ожидал что простейшая операция "уменьшить цветность" уже склеенного изображения вызовет такие проблемы. Я обрабатываю картинки простым бат файлом из одной строки start c:\"Program Files"\IrfanView\i_view32.exe "d:\temp\*.png" /bpp=8 /convert="d:\temp\*.png" Но поскольку в программе уже есть FreeImage.dll это явный моветон использование сторонних программ. Цитата от barazuk "Пишется мегатулза с использованием FreeImage. FreeImage_ColorQuantizeEx. DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ColorQuantizeEx(FIBITMAP *dib, FREE_IMAGE_QUANTIZE quantize FI_DEFAULT(FIQ_WUQUANT), int PaletteSize FI_DEFAULT(256), int ReserveSize FI_DEFAULT(0), RGBQUAD *ReservePalette FI_DEFAULT(NULL)); Можно задавать количество цветов, резервировать предопределенные цвета в палитре. Используются два алгоритма: Цитата Wu, Xiaolin, Efficient Statistical Computations for Optimal Color Quantization. In: Graphics Gems, vol. II, p. 126-133. [Online] http://www.ece.mcmaster.ca/~xwu/ Dekker A. H., Kohonen neural networks for optimal color quantization. Network: Computation in Neural Systems, Volume 5, Number 3, Institute of Physics Publishing, 1994. [Online] http://members.ozemail.com.au/~dekker/NEUQUANT." |
(0007964) zed (manager) 27-07-2012 13:12 |
Тут есть специфика: FreeImage загружает снимок целиком в память и только потом с ним работает, поэтому в САСе он используется только для работы с тайлами. В случае же склейки снимков в файл, используются т.н. scanline методы, которые загружают в память только одну строку изображения, что позволяет сохранять снимки больших разрешений при малом использовании оперативки. FreeImage так не умеет, и соответственно, все его возможности в данном случае становятся недоступны. |
(0007965) vdemidov (manager) 27-07-2012 13:13 |
Вперед. Склейте картинку хотя бы 32000 на 32000 и посмотрите сколько займет эта операция. А скорее всего вообще умрет. |
(0007966) Fetser (reporter) 27-07-2012 13:55 |
Точно подсунул FreeImage картинку 40000х20000, он меня обматерил и отключился. IrfanView также не смог её даже загрузить, написал недостаточно памяти. Но подобные размеры возможно и нужны для каких то специфических задач. Если даже просмотрщик не в состоянии их показать. Обычные же картинки какие чаще всего приходится клеить это для печати на А4 или А3, также для пересылке по почте. И они имеют размеры где-то 2000х1500 Вот с такими все справляются за секунду. Особой необходимости в этом функционале нет, поскольку уже писал сторонним софтом понижается цветность на раз. Если когда нибудь такой функционал появится и в сас то будет хорошо. |
Users who viewed this issue | |
User List | Anonymous (3290x), vdemidov (1x), VadimK (1x), k-dmitriy (1x), gma (1x) |
Total Views | 3294 |
Last View | 22-11-2024 02:31 |
Issue History | |||
Date Modified | Username | Field | Change |
25-07-2012 10:34 | Fetser | New Issue | |
25-07-2012 10:40 | Tolik | Note Added: 0007888 | |
25-07-2012 10:57 | vdemidov | Note Added: 0007889 | |
25-07-2012 11:00 | vdemidov | Status | new => confirmed |
25-07-2012 11:00 | vdemidov | Product Version | .Nightly => 110418 |
25-07-2012 11:00 | vdemidov | Target Version | => 40xxxx |
25-07-2012 11:00 | vdemidov | Summary | Добавить настройку "Количество цветов" при склейке => Склейка в png с 256 цветной палитрой |
25-07-2012 11:00 | vdemidov | Description Updated | View Revisions |
25-07-2012 11:07 | vasketsov | Note Added: 0007890 | |
25-07-2012 11:15 | vdemidov | Note Added: 0007891 | |
25-07-2012 11:35 | vasketsov | Note Added: 0007892 | |
25-07-2012 11:40 | vdemidov | Note Added: 0007893 | |
25-07-2012 11:53 | vasketsov | Note Added: 0007894 | |
25-07-2012 11:58 | vdemidov | Note Added: 0007895 | |
26-07-2012 03:53 | Parasite | Note Added: 0007899 | |
26-07-2012 05:06 | vdemidov | Note Added: 0007901 | |
26-07-2012 05:31 | Parasite | Note Added: 0007904 | |
26-07-2012 05:33 | vdemidov | Note Added: 0007906 | |
26-07-2012 12:06 | Papazol | Note Added: 0007931 | |
26-07-2012 13:45 | vasketsov | Note Added: 0007938 | |
27-07-2012 13:02 | Fetser | Note Added: 0007963 | |
27-07-2012 13:12 | zed | Note Added: 0007964 | |
27-07-2012 13:13 | vdemidov | Note Added: 0007965 | |
27-07-2012 13:55 | Fetser | Note Added: 0007966 | |
30-03-2014 08:44 | vdemidov | Relationship added | has duplicate 0002394 |
13-10-2015 08:20 | vdemidov | Target Version | 40xxxx => 30xxxx.Vip |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |