The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Flare - форк библиотеки Corona для чтения/записи изображений

23.02.2012 02:30

Стабилизировался код проекта Flare Image Library, в рамках которого развивается форк библиотеки Corona, последний релиз которой вышел в 2003 году. Библиотека написана на языке C++ и предназначена для загрузки, записи и манипулирования изображениями в распространённых форматах (PNG, JPG, BMP, TGA и т.п.). Код распространяется под открытой лицензией zlib. Библиотека может быть собрана для широкого спектра платформ и операционных систем.

Библиотека представляет картинку как массив пикселей в нескольких форматах и не зависит от сторонних графических библиотек, таких как SDL. Также во Flare во время сборки могут быть встроены дополнительные библиотеки для работы с основными форматами (PNG, JPG и т.п.), что позволяет, например, использовать её в Windows без вороха дополнительных DLL. Для сборки библиотеки используется форк системы сборки Jam, поддерживающий сборку под Windows при помощи кросс-компилятора MinGW.

Из возможностей, отсутствующих в оригинале, можно отметить:

  • Корректная работа с палитровыми PNG в которых есть альфа-канал;
  • Реализация неплохого, хоть и медленного, алгоритма "квантования цветов" для перевода 24/32 bpp картинок в палитровый формат (с поддержкой альфа-канала).

Выпуск "релизов" в форме тарболов разработчиком не планируется, вместо этого "релизом" предлагается считать любой удобный срез git-репозитория. Для включения библиотеки в свои проекты предлагается использовать систему "подмодулей" git'а (или просто скопировать исходные тексты/скомпилированную библиотеку в нужное место проекта). В будущем в число поддерживаемых форматов могут войти TIFF и LBM, но поддержка всех возможных форматов во всех комбинациях не планируется (для этих целей есть другие библиотеки).

  1. Главная ссылка к новости (http://repo.or.cz/w/flare.git...)
Автор новости: Аноним
Тип: Программы
Короткая ссылка: https://opennet.ru/33168-image
Ключевые слова: image, graph, flare
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:58, 23/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Кошмар, костыль на костыле.
    - библиотек для загрузки/сохранения изображений уже как собак нерезанных, ещё одна не нужна
    - сборка это просто абзац. Кривой форк убогого jam.
    - нет нормальных релизов, за это надо расстреливать
    - репозиторий - не на github. Спасибо хоть в git.
    - за .gitignore в репозитории надо отбивать яйца
    - в репозиторий понапихано библиотек. jpeg, png, ungif, zlib. Ждём libc.

    Надеюсь, такие помойки и их криворукие авторы когда-нибудь полностью вымрут.

     
     
  • 2.2, Неиван (?), 11:03, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > - репозиторий - не на github. Спасибо хоть в git.
    > - за .gitignore в репозитории надо отбивать яйца

    что в этом плохого?

     
     
  • 3.4, Kodir (ok), 12:22, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    .gitignore как раз нужен для того, чтобы каждому новичку не настраивать его заново. Тем более, что если он забудет это сделать, в репозиторий полетит бессмысленный мусор.
     
     
  • 4.7, arisu (ok), 15:22, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    точку зрения понять можно: если разработчиков несколько, то у каждого почти наверняка .gitignore свой, и git pull будет упорно его мержить. с другой стороны — тут разработчиков… ну, совсем мало, мягко говоря. поэтому пока что оно никому не мешает.
     
     
  • 5.9, oxyum (ok), 16:23, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хм... а вам никогда не приходило в голову добавить свои специфичные файлы репозоторный или свой локальный .gitignore и не мучаться с мержами?
     
     
  • 6.10, arisu (ok), 16:29, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а я-то тут при чём? мне вообще без разницы, я всё равно сразу делаю бранч и мержу очень выборочно.
     
  • 6.16, Аноним (-), 22:03, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Хм... а вам никогда не приходило в голову добавить свои специфичные файлы
    > репозоторный или свой локальный .gitignore и не мучаться с мержами?

    Свой локальный .gitignore в репозитории использовать нельзя, потому что там лежит репозиторный. Использовать системный (если git такое умеет) нельзя, потому что они разные для каждого репозитория. Закоммитить нельзя, потому что потом придётся тразаться с мержами. Залить в upstream нельзя, во-первых, потому что они там не нужны, во-вторых, потому что потом кому-то понадобится наоборот их отсутстиве чтобы можно было сделать git clean. Сечёшь? .gitignore нельзя добавлять в репозиторий.

     
     
  • 7.18, oxyum (ok), 22:13, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Хм... а вам никогда не приходило в голову добавить свои специфичные файлы
    >> репозоторный или свой локальный .gitignore и не мучаться с мержами?
    > Свой локальный .gitignore в репозитории использовать нельзя, потому что там лежит репозиторный.
    > Использовать системный (если git такое умеет)

    Ну теперь проблема ясна... вы просто не знаете что умеет git, и скорее всего не умеете им пользоваться, кроме 2-3х команд...

    $ man gitignore
    Which file to place a pattern in depends on how the pattern is meant to be used. Patterns which should be version-controlled and distributed to other repositories via clone (i.e., files that all developers will want to ignore) should go into a .gitignore file. Patterns which are specific to a particular repository but which do not need to be shared with other related repositories (e.g., auxiliary files that live inside the repository but are specific to one user’s workflow) should go into the $GIT_DIR/info/exclude file. Patterns which a user wants git to ignore in all situations (e.g., backup or temporary files generated by the user’s editor of choice) generally go into a file specified by core.excludesfile in the user’s ~/.gitconfig.

    $ cat ~/.gitconfig
    [core]
    excludesfile = ~/.gitignore

     
  • 3.13, Аноним (-), 21:58, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > что в этом плохого?
    >> - репозиторий - не на github. Спасибо хоть в git.

    Невозможность сделать fork и pull request  видеть

    >> - за .gitignore в репозитории надо отбивать яйца

    Потому что разработчик понятия не имеет как будет работать с его поделием пользователь, какие временные файлы будет создавать его редактор, где будет создавать объектники система сборки и какие у них будут расширения и многое другое. Когда .gitignore в репозитории, его невозможно толком настроить.

     
     
  • 4.23, arisu (ok), 15:53, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> что в этом плохого?
    >>> - репозиторий - не на github. Спасибо хоть в git.
    > Невозможность сделать fork и pull request  видеть

    ложь. и форкнуть можно средствами самого repo.or.cz, и mob branch есть. ну, и почта автора там светится, можно написать.

    с .gitignore согласный, лишнее оно там.

     
     
  • 5.24, Аноним (-), 17:53, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Факт в том что разработка и разработчики именно на github, так что форк не на github не более ценен чем форк у тебя на локалхосте.
     
     
  • 6.28, arisu (ok), 18:03, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Факт в том что разработка и разработчики именно на github, так что
    > форк не на github не более ценен чем форк у тебя
    > на локалхосте.

    прям таки все-все? разработчики TCC в шоке, например.

    p.s. вот когда на гитхабе уберут принудительный https — тогда оно, возможно, и будет чем-то нормальным.

     
  • 2.5, СуперАноним (?), 13:31, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >- библиотек для загрузки/сохранения изображений уже как собак нерезанных, ещё одна не нужна

    Нужна потому, что эта представляет собой библиотеку классов.

     
  • 2.6, arisu (ok), 15:16, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    угадай, зачем туда «напиханы» библиотеки. в новости это даже открытым текстом написано, надо только её прочитать.
     
     
  • 3.14, Аноним (-), 21:59, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > угадай, зачем туда «напиханы» библиотеки. в новости это даже открытым текстом
    > написано, надо только её прочитать.

    Я-то прочитал. Только зачем мне копии тухлых графических библиотек, когда у меня есть свежие в системе? Потому что в винде нет?

     
     
  • 4.19, arisu (ok), 00:03, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Я-то прочитал. Только зачем мне копии тухлых графических библиотек, когда у меня
    > есть свежие в системе? Потому что в винде нет?

    потому что если оно найдёт системные — то соберётся с ними, с динамикой. а если нет — то есть вариант всё равно собраться.

     
     
  • 5.20, Аноним (-), 07:03, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Клёва, давайте все зависимости теперь пихать во все репозитории. "Шоб собиралось".
     
     
  • 6.21, arisu (ok), 15:28, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Клёва, давайте все зависимости теперь пихать во все репозитории. "Шоб собиралось".

    ты не поверишь, но для винды так и делают.

     
     
  • 7.25, Аноним (-), 17:54, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > ты не поверишь, но для винды так и делают.

    Поверю. Репозитории вантузоразработчиков сразу видно по помойке.

     
     
  • 8.27, arisu (ok), 18:02, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну а что поделаешь, если для m нормальные репы 8212 rocket sciense конечно,... текст свёрнут, показать
     
  • 2.8, arisu (ok), 15:23, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Кошмар, костыль на костыле.

    присоединяйся и чини.

     

  • 1.3, Карбофос (ok), 11:32, 23/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    спасибо, что живой!
    не иначе XD
     
  • 1.11, Аноним (-), 18:50, 23/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Для сборки библиотеки используется форк системы сборки Jam
    >Выпуск "релизов" в форме тарболов разработчиком не планируется, вместо этого "релизом" предлагается считать любой удобный срез git-репозитория.

    Молодцы, именно так и надо с мейнтенерами. Пускай лишний раз почешут репу, соображая, какую версию у пакета прописать и побольше чертыхаются, осваивая очередную систему сборки. А то обленились совсем.

     
     
  • 2.12, arisu (ok), 20:01, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    проблемы маинтайнеров — это проблемы маинтайнеров. не вижу, отчего они должны становиться проблемами разработчиков. не хотите маинтаинить — не надо, никто же не настаивает.

    p.s. а то, что автор ясно написал: «кидайте код в свой проект» — конечно, никак не обозначает «не надо делать пакеты», угу.

     
     
  • 3.17, Аноним (-), 22:06, 23/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > проблемы маинтайнеров — это проблемы маинтайнеров. не вижу, отчего они должны становиться
    > проблемами разработчиков. не хотите маинтаинить — не надо, никто же не настаивает.

    Почему тогда в новости не написано что разработчик запилил это угpёбище лично для себя и оно не пранируется к использованию кем бы то ни было ещё?

     
     
  • 4.22, arisu (ok), 15:29, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему тогда в новости не написано что разработчик запилил это угpёбище лично
    > для себя и оно не пранируется к использованию кем бы то
    > ни было ещё?

    нажми «поправить» и поправь, если знаешь лучше.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру