1.2, Аноним (2), 21:26, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
Единственная нормальная новость, от которой веет здоровым юниксом.
| |
|
|
3.6, Аноним (6), 22:01, 14/07/2020 [^] [^^] [^^^] [ответить]
| +16 +/– |
Практика показала, что отход от него порождает раздутые переусложнённые решения.
| |
|
4.31, Аноним (31), 03:15, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
чья практика? кто сказал, что она что-то показали или показала то, о чем ты говоришь? пока что в твоих словака очередной бурчание ретрограда-хейтера, не более
| |
|
3.62, Аноним (-), 19:14, 15/07/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А кто сказал, что юникс-подход здоров?
Те кто посмотрел что получается если на него забить - убер-монстры делаюшие дофига всего, одинаково хреново ну совсем не рулят :)
| |
|
|
1.4, Аноним (-), 21:42, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> Поддерживаемые на данный момент форматы: APNG (чтение, только на Windows)
Что?
| |
|
2.21, Аноним (21), 23:20, 14/07/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Animated PNG. SAIL (ранее - ksquirrel-libs) была одна из первых библиотек в мире поддержавших его. Поддержка на иных платформах затруднительна, т.к. требует патчить libpng.
| |
|
3.38, анонимм (?), 06:50, 15/07/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Т.е. оно ещё один биндинг к libpng. Я уж понадеялся что здесь будет хоть одна монолитная библиотека. С линуксом-то норм всё, а вот под винду когда собираешь проект с sdl_image - там ещё с десяток dll тащить
| |
|
4.43, Аноним (21), 10:33, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Под виндой библиотеки типа libpng вкомпилируются статически прямо в кодеки. Посмотри инсталлер на странице релизов.
| |
|
5.64, Аноним (-), 19:15, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Под виндой библиотеки типа libpng вкомпилируются статически прямо в кодеки. Посмотри инсталлер
> на странице релизов.
А потом когда в какойнить либе оказывается дыра - проще сразу застрелиться нафиг. Потому что систему потом в принципе от дыр не запатчишь. Линуксы пришли к такой модели распостранения либ не просто так же для красоты.
| |
|
|
|
|
1.7, Crazy Alex (ok), 22:03, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Декодер изображений общего назначения в 2020-м году без поддердки цветоаых профилей - это бред сивой кобылы
| |
|
2.9, НяшМяш (ok), 22:14, 14/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Функции управления цветом (применение ICC профилей и т.д.)
А если чуть внимательнее читать?
upd. Извиняюсь за наезд, я сам косоглазый, это как раз то что НЕ поддерживается )
| |
2.13, Аноним (13), 22:19, 14/07/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вот да, это это уже вишенка на торте, если изначально было не ясно.
| |
2.15, Аноним (13), 22:33, 14/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
С другой стороны, этим должен заниматься http://www.littlecms.com/ -- альтернатив у нас нет. Т.е. притащи в код стрёмных легаси либ, сам позаботься о корректном отображении написав кода больше чем в тех либах было, сам реализуй поддержку форматов (уже проходили с pil, но сегодня то вроде 2020 на дворе). Не похоже на включил в проект и теперь работаешь с любыми изображениями. Поспешили-с.
| |
|
3.29, Crazy Alex (ok), 02:24, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Волбще-то есть argyll как минимум. Который, насколько я помню, поприличнее, кстати
| |
|
|
5.35, Crazy Alex (ok), 06:29, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну да, он монстр потому что умеет всё, что связано с цветом, а не просто профиль применить. И AGPL к тому же (что с моей точки зрения только плюс). Используется - в основном в составе DisplayCAL, которую многие считают лучшим софтом для калибровки и профилирования. В чисто рисовайках - это да, не прижился.
Ещё darktable что-то своё для профилей применяет, насколько я помню.
| |
5.36, Crazy Alex (ok), 06:32, 15/07/2020 [^] [^^] [^^^] [ответить]
| –3 +/– |
Претензий к билдтулу не понял - сейчас их один чёрт зоопарк. К сайту - и подавно, совершенно обычный простой текстовый сайт, без модной фигни, только информация. ну да ладно, это вкусовщина уже
| |
|
6.65, Аноним (-), 19:16, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Претензий к билдтулу не понял - сейчас их один чёрт зоопарк.
Не, вот знаете что! Тут вот хорошая аккуратная либа - и не надо ее скатывать в гомно. А зоопарк пусть у гугловых вебмакак будет, им по статусу положено.
| |
|
|
|
|
2.17, Аноним (21), 23:07, 14/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
>Декодер изображений общего назначения в 2020-м году без поддердки цветоаых профилей - это бред сивой кобылы
Цветовые профили вынимаются и предоставляются клиентскому приложению. В задачи декодера не входит т.н. "применение" цветовых профилей. Если необходимо, приложение с помощью lcms "применит" полученный профиль.
| |
|
1.8, Иваня (?), 22:07, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Как создать свой формат изображений, что почитать, посмотреть?🤔 Подскажите please🥺
| |
|
|
|
4.57, Аноним (57), 17:57, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну так берите спеки, и вперёд. Там по 500 и более страниц, хватит надолго.
| |
|
|
2.66, Аноним (-), 19:18, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Как создать свой формат изображений, что почитать, посмотреть?
Форумы по сжатию. Например encode.su - соотв. топики. Там есть пара довольно любопытных кодеков/идей, но до ума не доведены.
| |
|
1.10, Аноним (10), 22:16, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Может кто в курсе, оно хоть чем-то лучше stb_image для загрузки PNG/JPEG/BMP? Бегло посмотрел пример C/SDL - API выглядит странноватым и избыточным, как по мне. Так же, увидел пример Qt/C++, зачем оно там, когда все уже есть в Qt? Оно умеет что-то, чего не умеет Qt?
| |
|
2.19, Аноним (21), 23:10, 14/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
>API выглядит странноватым и избыточным
напиши почему именно, это можно обсудить.
| |
|
3.39, Аноним (39), 07:27, 15/07/2020 [^] [^^] [^^^] [ответить] | +3 +/– | Это все мое субъективное мнение, возможно, все нормально и хорошо, но Вот это ... большой текст свёрнут, показать | |
|
4.46, InuYasha (??), 11:34, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
>>Так же мне это говорит о том, что есть некий внутренний код ошибок.
И ничего страшного в этом нет. Для каждой библятеки заводи отдельый cpp-файл, там обрабатывай ошибки, а весь проект делай по-своему. Никто не заставляет же sail_error_t использовать повсюду.
Обычные сишные имена. Я бы назвал как-нить типа g_pszImagePixels, но это уже пахнет плюсами )
| |
|
5.54, Аноним (10), 16:25, 15/07/2020 [^] [^^] [^^^] [ответить] | +/– | А я сказал что это страшно или плохо Мне не нравится этот подход Если можно чт... большой текст свёрнут, показать | |
|
6.56, Аноним (21), 17:39, 15/07/2020 [^] [^^] [^^^] [ответить] | +/– | Я согласен со всем То что можно сделать быстро, так это - опциональный context... большой текст свёрнут, показать | |
6.58, Аноним (75), 18:57, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Покажи пожалуйста если есть пример как ты используешь собственный аллокатор совместно с какой-то либоц. Можно в псевдокоде
| |
|
7.72, Аноним (39), 02:17, 16/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Эх… Мне откровенно лень делать полноценные примеры.
Просто скажу, как могло бы быть на мой взгляд.
Для С:
Некий внутренний макрос к alloc/free/realloc (https://github.com/nothings/stb/blob/b42009b3b9d4ca35bc703f5310eedc74f584be58/)
Структура со стабами для пользовательских alloc/free/realloc. Судя по примерам, есть что-то подобное для seek/tell/flush/sync и т.д.
У себя я использую что-то вроде:
#define PUSH_TYPE(mem_arena, type, ...) (type *)push_mem__(mem_arena, sizeof(type), ## __VA_ARGS__)
#define PUSH_ARRAY(mem_arena, size, type, ...) (type *) push_mem__(mem_arena, (size)*sizeof(type), ## __VA_ARGS__)
И т.д.
Для C++ мне нравится подход eastl (https://github.com/electronicarts/EASTL).
| |
|
|
9.81, Аноним (81), 12:08, 17/07/2020 [^] [^^] [^^^] [ответить] | +/– | Большинство известных мне реализаций new в С вызывают внутри себя malloc GCC ... большой текст свёрнут, показать | |
|
|
|
|
5.76, Аноним (39), 12:31, 16/07/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> g_pszImagePixels ... уже пахнет плюсами
Это... (g_)Global (p)Pointer to (s)String with (z)Zero terminator ImagePixels? Это пахнет венгерской нотацией, win api и кокой-то дичью...
| |
|
|
|
|
1.11, Аноним (13), 22:16, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Jpeg, png (windows-only). Не вкатился что-то. Сегодня нужны webp, heif, и немного png -- жопегом никого не удивить. Тем более в играх жопеги совершенно не упали.
>KSquirrel
Выглядит как рипоф faststone image viewer. Тот немного специфичный. Он на паскале, быстрый и удобный, не пестрит багами. Жаль только не поддерживает современные форматы. Но сегодня у нас есть относительно приличный gwenview (код не очень хороший, правда), и нужды в таких стрёмных просмотрщиках нет. Алсо, gwenview что-то тормозноват, если сравнивать с тем же fsiv. Но это видимо претензия тоже к кутям, как и ограниченное число поддерживаемых форматов (libraw и ещё что-то там конечно вкорячены сбоку, грязно, но остальное от кутей зависит).
| |
|
2.18, Аноним (21), 23:09, 14/07/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Сегодня нужны webp, heif, и немного png -- жопегом никого не удивить. Тем более в играх жопеги совершенно не упали.
на всё нужно время, всё есть в планах. HEIF насколько я помню покрывается патентами, и его использование без роялти невозможно.
| |
|
3.23, Аноним (13), 23:23, 14/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Но отсутствие tga совершенно непростительно, это основной универсальный формат. И при этом простой (в отличие от tiff и производных). Heif емнип открытый формат, это пакуемые в него данные могут быть продуктом "платного" кодека. А могут быть и роялти фри (нет такой вещи как непокрытые патентами кодеки: есть современные, есть устаревшие, и есть бесплатные для использования на определённых основаниях).
| |
|
4.24, Аноним (21), 23:26, 14/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
>Но отсутствие tga совершенно непростительно
Согласен полностью. Последние 4 месяца я был занят больше архитектурой. После стабилизации API, которое я думаю уже близиться, я буду заниматься исключительно кодеками.
| |
|
|
2.22, Аноним (21), 23:22, 14/07/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Жаль только не поддерживает современные форматы
Именно современные форматы и стоят в приоритете. WEBP, AVIF, JPEG-XR, возможно BGP и FLIF.
| |
|
|
4.44, Аноним (21), 10:35, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Без вопросов, все популярные форматы будут сделаны. Tiff, bmp, gif, tga и т.п.
| |
|
|
6.63, Аноним (13), 19:14, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Наверное dds кроме шуток обязательно должен быть, а если ориентироваться на мультиплатформу, то и мобильные варианты. Но это всё немного вторично. А вот jpg only это проблема. Если мне нужна сеть, я беру curl и openssl. Если мне нужны картиночки, я беру костыли либо подгоняю требования под результат. Всё-таки удобный универсальный интерфейс взаимодействия с графическими файлами должен существовать, а его нет.
| |
|
7.67, Аноним (-), 19:20, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Всё-таки удобный универсальный интерфейс взаимодействия с графическими
> файлами должен существовать, а его нет.
В libsdl слегка есть, но... но дальше BMP оно на любителя.
| |
|
|
|
|
|
|
1.14, Аноним (14), 22:30, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Поделка-самоделка. Как будто мало развитых и проверенных временем библиотек такого толка.
| |
|
2.20, Аноним (21), 23:18, 14/07/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Строго говоря, возраст SAIL - 17 лет. Просто она переживает ребрендинг.
| |
2.48, user (??), 12:30, 15/07/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так в том то и проблема, что развитых. Везде добавлены рисование, обработка, шрифты и прочие лишние зависимости, а я хочу просто ввод/вывод.
| |
|
1.25, Аноним (25), 23:32, 14/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
кто то действительно использует сабж (вместо тех же указанных "прямых конкурентов"), или автор новости == автор проекта?
| |
1.27, Аноним (27), 00:40, 15/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Кому надо просто грузить картинки для OpenGL - есть великолепная libSOIL.
| |
1.32, Аноним (32), 05:23, 15/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Заходим в "src/sail-plugins/src/jpeg/jpeg.c"
Видим: #include <jpeglib.h>
Заходим в "src/sail-plugins/src/png/png.c"
Видим: #include <png.h>
> Простая, компактная и быстрая библиотека, написанная на С без сторонних зависимостей (кроме кодеков);
Вот это уточнение "кроме кодеков" - полностью ломает всю якобы "независимость", кому она нужна без кодеков?
Как насчёт независимости приложения от вот таких "библиотек", не лучше ли читать изображения напрямую через libjpeg и libpng?
Это функция что влезет в один экран, примеры легко гуглятся.
А кому нужно много возможностей - можно использовать OpenCV.
| |
|
2.45, Аноним (21), 10:40, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Можно использовать libjpeg и напрямую, если нужно грузить исключительно жипеги.
Давай посмотрим с другой стороны. Размер клиентской библиотеки sail под windows - порядка 150 Kb. Плюс 500 Kb на один кодек jpeg, остальные можно просто удалить.
Получаем оверхед в 150 Kb размера, и микроскопический api из пяти строк конкретно для этой задачи.
Неплохо, я считаю. Какие есть мысли?
| |
|
3.49, Аноним (32), 12:42, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Какие мысли? Я считаю что плохо. Библиотека libjpeg-6b занимает 150кб. А только для чтения будет еще меньше. Сам когда-то уместил в 10кб бинарного кода, выбросив лишний функционал (и то даже поддержку прогрессивных JPEG оставил).
| |
3.50, Аноним (32), 13:09, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Для чтения PNG же есть lodepng и libspng без зависимостей от zlib, но тут именно libpng, что будет толще.
| |
|
4.51, Аноним (21), 13:35, 15/07/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Здесь важно соблюсти баланс. Sail - библиотека общего назначения, но стремящаяся к минимализму. Можно конечно использовать libspng, но тут пострадает скорость в угоду размеру как мне кажется. Zlib, например, можно скомпилировать с amd64 инструкциями, что даст прирост скорости декодирования.
| |
|
5.59, Аноним (-), 19:07, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
> можно скомпилировать с amd64 инструкциями, что даст прирост скорости декодирования.
Или не даст. Если алгоритм правильный, как с LZ4, то там никаких специальных инструкций даром не надо, оно в память упирается. И для zlib, кстати, есть здорово ускоренная реализация. На zlib просто все подзабили - он работает и ладно. Да и смысл его улучшать? Кто хотел именно улучшений - накодили zstd, он жмет лучше и декодируется быстрее, и это на уровне алгоритмов сразу :D
| |
|
|
|
|
1.40, Аноним (40), 08:54, 15/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Прямые конкуренты из этой же области
Интересно почему ImageMagick (MagickCore, MagickWand и Magick++) не попала в список?
| |
|
|
3.79, Аноним (13), 21:42, 16/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Нет, скорее потому, что im не отдельная либа, а "вещь в себе". А по поводу кривого апи… В любом случае, другого софта, подобного im, нет. Наверное, ни одна программа, кроме этой, не сможет тебе даже корректно ресайзнуть изображение. Там надо ресайзить через колорспейс luv (да, я сравнивал с lab, luv много корректней), чтобы не запороть файл. Особенно бросается в глаза, когда ты ресайзишь 600dpi в ~90dpi. Ну и потом, distort resize тоже выглядит значительно лучше топорного в лоб ресайза. Насчёт глюков не скажу, насчёт тормозов, я бы хотел чтобы cuda или opencl что-нибудь ускоряли там, но они ничего не ускоряют и только добавляют артефактов. Так что уж как есть, альтернатив просто не существует в природе (да, я в курсе про форки, они ни в какое сравнение не идут).
| |
|
|
1.53, Аноним (-), 16:14, 15/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> APNG (чтение, только на Windows
Как они этого добились? Чтение apng на других платформах чем-то принципиально отличается? Wtf?!
| |
|
2.55, Аноним (21), 17:24, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Чтение Animated PNG требует патченой версии libpng. Это ловушка этого формата. Официальная libpng не может поддерживать APNG, т.к. APNG - это расширение, а libpng - reference PNG implementation. Поэтому поддержка APNG делается только через распространение своей собственной патченой libpng. Распространение своей собственной libpng выглядит натурально только на Windows.
| |
|
3.60, Аноним (-), 19:12, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Может тогда послать libpng курить бамбук? Достаточно дурацкая либа. Насколько я вижу, половина прог для работы с apng вообще libpng не пользуются. Не мешает им работать с форматом...
| |
3.68, Аноним (13), 19:42, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
Это всё замечательно, но у меня в системе libpng с поддержкой apng (как и во многих дистрибутивах, я думаю), а анимации работают только в браузере. Браузер использует всё ту же системную libpng с apng, это значит, проблема исключительно в криво написанном софте,
| |
|
4.69, Аноним (21), 20:14, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
>это значит, проблема исключительно в криво написанном софте,
совершенно верно.
| |
|
|
|
|
2.71, Аноним (21), 21:31, 15/07/2020 [^] [^^] [^^^] [ответить]
| +/– |
>It has around 300 operations covering arithmetic, histograms, convolution, morphological operations, frequency filtering, colour, resampling, statistics and others
ЭЭ?
| |
|
1.77, Аноним (21), 16:30, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Неоценимой помощью проекту будет звёздочка (star) на Github. Спасибо за отзывы и предложения, друзья.
| |
|