The OpenNET Project
 
Поиск (теги):    НОВОСТИ (+) КОНТЕНТ WIKI MAN'ы ФОРУМ

18.02.2013 21:26  Релиз libpng 1.6.0 с поддержкой упрощённого API

Представлен первый стабильный релиз новой ветки libpng 1.6.0, популярной свободной библиотеки для чтения, сохранения и обработки растровых изображений в формате PNG. Новая ветка примечательна реализацией нового упрощённого API, встроенной поддержкой новых таблиц sRGB-to-linear и linear-to-sRGB, а также прекращением поддержки некоторых функций, ранее объявленных устаревшими.

Из элементов нового API можно отметить макросы PNG_FORMAT_* и PNG_IMAGE_*, структуры png_control и png_image, функции для чтения изображений png_image_begin_read_from_(file|stdio|memory), png_image_finish_read, png_image_free, функции для записи изображений png_image_write_to_file и png_image_write_to_stdio.

Прекращена поддержка вызовов: png_get_io_chunk_name заменён на png_get_io_chunk_type, удалены встроенные макросы png_sizeof(), png_strlen(), png_memcpy(), png_memcmp() и png_memset(). Объявлены устаревшими фунуции png_info_init_3, png_convert_to_rfc1123, png_data_freer, png_malloc_default, png_free_default, png_reset_zstream.

  1. Главная ссылка к новости (http://sourceforge.net/mailarchive/forum...)
Тип: Программы
Ключевые слова: libpng, png, image, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
Обсуждение Линейный вид (Ajax) | Показать все | RSS
 
  • 1.1, Аноним, 21:41, 18/02/2013 [ответить] [смотреть все]
  • –2 +/
    Надо почитать что за упрощённое API Возможно получится кое-где упростить код в ... весь текст скрыт [показать]
     
     
  • 2.2, paulus, 21:48, 18/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В raring 1 2 49... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.3, Аноним, 21:56, 18/02/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    Класс, это ещё лучше ... весь текст скрыт [показать]
     
  • 1.4, Mihail Zenkov, 22:49, 18/02/2013 [ответить] [смотреть все]  
  • +10 +/
    Меня всегда удивляло, как в библиотеке от которой требуется всего навсего сжимать/разжимать поток данных, можно ломать api чуть ли не с каждым выходом 1.x.0, да еще иногда, так что поправить с ходу это было нелегко.

    Надеюсь с выходом упрощенного API ситуация изменится к лучшему.

     
     
  • 2.7, kurokaze, 00:02, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Попробуте попрограммировать, может тогда поймете I media-libs libpng Avai... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.9, Аноним, 02:27, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    А вот и не сделают Для 1 2 есть потому что LSB, а для 1 4 слота нет ... весь текст скрыт [показать]
     
     
  • 4.10, runoverheads, 03:00, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    ну значит в пакет 1 6 будет помечен как тестируемый на долгое время... весь текст скрыт [показать]
     
     
  • 5.42, all_glory_to_the_hypnotoad, 23:15, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    а потом всё наебнётся после долгого времени В генте с png такое происходит регу... весь текст скрыт [показать]
     
     
  • 6.54, mavriq_, 16:10, 21/02/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    вы хотите сказать - у вас в генте такое происходит регулярно ну так пересядьте ... весь текст скрыт [показать]
     
  • 2.11, Аноним, 04:49, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Ты путаешь libpng с zlib libpng приходится делать хренову тонну вещей, посмотри... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, www2, 06:00, 19/02/2013 [^] [ответить] [смотреть все]  
  • +2 +/
    Не люблю крайностей Должна быть золотая середина и разумный баланс Крайность с... весь текст скрыт [показать]
     
     
  • 4.39, ip1981, 20:42, 19/02/2013 [^] [ответить] [смотреть все]  
  • +3 +/
    Похерил API - меняй soname, блеать ... весь текст скрыт [показать]
     
  • 4.50, Аноним, 00:43, 21/02/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    Оно и есть soname меняется, срок на deprecated даётся более чем достаточный Но... весь текст скрыт [показать]
     
  • 3.28, Mihail Zenkov, 18:19, 19/02/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Я в своей программе использую extern C png_struct png_create_write_struct im... весь текст скрыт [показать]
     
     
  • 4.32, Аноним, 19:07, 19/02/2013 [^] [ответить] [смотреть все]  
  • +2 +/
    Для таких как вы, видимо, и сделали упрощённый API И да, это нормалньый API, по... весь текст скрыт [показать]
     
     
  • 5.36, Mihail Zenkov, 20:15, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Приведите обычный пример, который применяется чаще хотя бы не реже , чем просто... весь текст скрыт [показать]
     
  • 5.43, ip1981, 23:46, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Разве вы не написали уже свою функцию my_write_png_file ... весь текст скрыт [показать]
     
  • 3.29, Mihail Zenkov, 18:30, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Посмотри как gimp-2 7 переходил на новую версию Я после обновления libpng сам х... весь текст скрыт [показать]
     
  • 2.24, iZEN, 15:07, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Каждый раз при выходе новой версии libpng 1 x нужно пересобирать всё ПО, от неё ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.25, maxst, 15:34, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Недавно вышла 1 5 14 скоро выйдет 1 5 15, вовсе необязательно перепрыгивать на в... весь текст скрыт [показать]
     
     
  • 4.46, iZEN, 00:59, 20/02/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Когда перепрыгивать, решают мантейнеры портов ... весь текст скрыт [показать]
     
  • 3.33, Аноним, 19:09, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Нет У вас же есть portupgrade portmaster которые сохраняют старые версии библио... весь текст скрыт [показать]
     
     
  • 4.45, iZEN, 00:54, 20/02/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Совет использовать pormaster -w в usr ports UPDATING для libpng пакет png ... весь текст скрыт [показать]
     
     
  • 5.51, Аноним, 00:45, 21/02/2013 [^] [ответить] [смотреть все]  
  • +/
    А тебе что, для каждого апдейта библиотеки должны в UPDATING писать Не делаешь ... весь текст скрыт [показать]
     
     ....нить скрыта, показать (20)

  • 1.5, Аноним, 23:28, 18/02/2013 [ответить] [смотреть все]  
  • +3 +/
    зачем, когда есть фотошоп ... весь текст скрыт [показать]
     
     
  • 2.6, exn, 23:32, 18/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    и не поспориш xD ... весь текст скрыт [показать] [показать ветку]
     
  • 2.14, Аноним, 05:47, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    настолько неожиданно, что даже не толсто... весь текст скрыт [показать] [показать ветку]
     
  • 2.17, б.б., 06:19, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Фотошоп тоже на новую 1 6 обновится, не переживайте Только узнаем мы об этом че... весь текст скрыт [показать] [показать ветку]
     
  • 1.8, Аноним, 02:26, 19/02/2013 [ответить] [смотреть все]  
  • +1 +/
    Ну вот, опять обновлять всю систему К libpng призывается всё Qt, gtk, cairo, p... весь текст скрыт [показать]
     
     
  • 2.12, Аноним, 04:50, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    А что у вас за недосистема что она не умеет сохранять старые версии библиотек, ч... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.16, www2, 06:02, 19/02/2013 [^] [ответить] [смотреть все]  
  • +2 +/
    Может у него LFS - Или FreeBSD, или Arch ... весь текст скрыт [показать]
     
     
  • 4.18, masakra, 09:06, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Фря умеет сохранять старые либы ... весь текст скрыт [показать]
     
     
  • 5.26, Аноним, 15:37, 19/02/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    Нет, фряшные порты не умеют ... весь текст скрыт [показать]
     
     
  • 6.27, masakra, 17:23, 19/02/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Порты и не должны этого уметь potrmaster -w... весь текст скрыт [показать]
     
  • 6.41, Куяврик, 23:13, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Как там ваш дядька в Киеве ... весь текст скрыт [показать]
     
  • 2.22, лох, 11:31, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    А просто не обновлять libpng что, религия не позволяет package mask там или por... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, Mihail Zenkov, 18:35, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    А переписывать программы при каждой смене libpng разработчикам мэинтейнерам это ... весь текст скрыт [показать]
     
     
  • 4.34, Аноним, 19:11, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Абсолютно Ленивому ламерью западло, но оно может забандлить libpng любой протух... весь текст скрыт [показать]
     
     
  • 5.38, Mihail Zenkov, 20:29, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Правильно, зачем хранить собственные костыли в одном месте Пусть лучше каждый р... весь текст скрыт [показать]
     
     
  • 6.40, Аноним, 20:47, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    зато как значимость библиотеки возрастает ... весь текст скрыт [показать]
     
  • 6.52, Аноним, 00:47, 21/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Нет, костылей в коде быть вообще не должно Крайнее им место - в портах пакетах ... весь текст скрыт [показать]
     
  • 3.55, Resonance, 13:45, 02/11/2014 [^] [ответить] [смотреть все]  
  • +/
    лох дело говорит
     
  • 1.13, Аноним, 04:55, 19/02/2013 [ответить] [смотреть все]  
  • +/
    apng ... весь текст скрыт [показать]
     
     
  • 2.20, maxst, 09:27, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    добавляется отдельным патчем ... весь текст скрыт [показать] [показать ветку]
     
  • 1.19, Аноним, 09:24, 19/02/2013 [ответить] [смотреть все]  
  • +/
    pngOS ... весь текст скрыт [показать]
     
  • 1.21, клоун Стаканчик, 10:40, 19/02/2013 [ответить] [смотреть все]  
  • –1 +/
    А какой глобальный смысл в удалении устаревшего кода? Ну сохранили бы со статусом "obsolete" - и фиг с ним. Зачем создавать проблемы тем, чьи проблемы ты должен решать?
     
     
  • 2.23, Аноним, 13:36, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Windows way ... весь текст скрыт [показать] [показать ветку]
     
  • 2.31, Mihail Zenkov, 18:42, 19/02/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    > А какой глобальный смысл в удалении устаревшего кода? Ну сохранили бы со
    > статусом "obsolete" - и фиг с ним. Зачем создавать проблемы тем,
    > чьи проблемы ты должен решать?

    Чистить код нужно постоянно - чем меньше кода, тем выше его читаемость, меньше ошибок, легче портировать.

    Чистить API тоже нужно, но сперва пометить как deprecated и лишь через пол года - год удалять. Да и как правило библиотеки с хорошим дизайном редко сильно меняют API, в основном просто расширяют, соответственно обратная совместимость не ломается.

     
     
  • 3.35, Аноним, 19:13, 19/02/2013 [^] [ответить] [смотреть все]  
  • +/
    Сами это написали, а выше ныли как страшно переписывать под новые версии libpng... весь текст скрыт [показать]
     
     
  • 4.37, Mihail Zenkov, 20:21, 19/02/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    >> Чистить API тоже нужно, но сперва пометить как deprecated и лишь через пол года - год удалять.
    > Сами это написали, а выше ныли как страшно переписывать под новые версии.
    > libpng так и делают, только времени доют ещё больше.

    Как раз с libpng и возникают проблемы, ибо программа собраная с ее поддержкой жестко привязывается к конкретной версии. Примеры уже здесь приводили. Ни с одной другой библиотекой такого не наблюдается. Даже glibc проще обновить.

    Где это они времени больше дают? Что-то не припомню при компиляции "Warning: xxxx this function depricated", за то вот error'ы как грибы после дождя, если версия не совпала.

     
     
  • 5.47, maxst, 08:35, 20/02/2013 [^] [ответить] [смотреть все]  
  • +/
    > Где это они времени больше дают?

    Ну вот к примеру что можно найти в libpng-manual.txt в разделе где перечисляются изменения между 1.2.x и 1.4.x:

    The functions png_read_init(info_ptr), png_write_init(info_ptr),
    png_info_init(info_ptr), png_read_destroy(), and png_write_destroy()
    have been removed.  They have been deprecated since libpng-0.95.

    The png_permit_empty_plte() was removed. It has been deprecated
    since libpng-1.0.9.  Use png_permit_mng_features() instead.


     
     
  • 6.48, Mihail Zenkov, 15:35, 20/02/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Вот только на практике при попытке собрать приложение написанное под API 1.2.x с новой 1.4.x заканчивается кучей ошибок, а не warning'ов.

    Я использую D как основной язык, так там API основной библиотеки долгое время был крайне нестабилен - ибо язык очень быстро развивался, но при этом я не ощущал от этого большого дискомфорта, так как реально старый API переставал работать только через продолжительный срок и при каждой компиляции я видел, что функция deprecated и дату/версию в которой ее удалят.

     
     
  • 7.49, maxst, 16:28, 20/02/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    > Вот только на практике при попытке собрать приложение написанное под API 1.2.x
    > с новой 1.4.x заканчивается кучей ошибок, а не warning'ов.

    В ветке 1.2.x ширину изображения можно было получить двумя способами:
    info_ptr->width
    png_get_image_width()

    В ветке 1.4.x прямой доступ убрали как небезопасный и оставили только
    png_get_image_width()

    Именно это изменение вызвало наибольший дискомфорт: во многих старых приложениях был прямой доступ и видимо разработчики libpng не смогли придумать, как сделать чтобы чтение info_ptr->width некоторое время работало, но предупреждало, что этот подход deprecated...

    По сравнению с этим, переход от 1.4.x к 1.5.x был относительно безболезненным, думаю 1.6.x тоже пройдет без особых проблем.

     
  • 5.53, Аноним, 00:49, 21/02/2013 [^] [ответить] [смотреть все]  
  • +/
    И в glibc есть deprecated, и вообще вы сколько бибилотек пользуете Я постоянно ... весь текст скрыт [показать]
     
  • 1.44, анонимаус, 23:56, 19/02/2013 [ответить] [смотреть все]  
  • +2 +/
    Прошлое многочасовое обновление с libpng 1.2 до 1.5 было со слезами на глазах и почти истерикой.
     

    Ваш комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:
     
    Навигация
     
     Новости для экспорта XML
     В социальных сетях:  twitter    
     Сводные | за день | мини-новости
     Разделы новостей
     Что нового на OpenNet
     Поиск в новостях
     Новые комментарии
     Добавить свою новость

    Важное
    - 18.11 EFF, Mozilla, Cisco и Akamai создадут контролируемый сообществом удостоверяющий центр (90 +35)
    - 15.11 Релиз FreeBSD 10.1 (87 +39)
    - 12.11 Microsoft откроет серверную часть платформы .Net и портирует её для Linux (301 +33)
    - 10.11 Выпуск Firefox 33.1 с порцией новых возможностей. В Firefox ожидается поддержка Tor (58 +41)

    Советы
    - 14.11 Импорт КЛАДР в базу данных PostgreSQL
    - 09.11 Мониторинг репликации MySQL при помощи Zabbix
    - 25.10 Настройка перехода на зимнее время для устаревших систем
    - 19.10 Режим автоматической установки обновлений в portmaster
    - 02.10 Применение двухфакторной аутентификации для SSH и GDM средствами Google Authenticator

    Обсуждаемые новости
    - 11:19 Представлен новый интерфейс поиска для Firefox (39)
    - 11:19 Увидела свет операционная система DragonFly BSD 4.0 (4)
    - 11:16 Реорганизация и планы по развитию проекта Thunderbird  (2)
    - 11:14 Открыт код ArrayFire, библиотеки для вычислений с использова (18)
    - 10:37 Для FreeBSD доступна начальная поддержка технологии NVIDIA O (171)
    - 10:19 Эксперимент с использованием Linux на макетной плате с проце (71)
    - 10:04 Проект Quantum OS развивает новое пользовательское окружение (44)
    - 08:40 Google представил план финального прекращения поддержки NPAP (18)


      Закладки на сайте
      Проследить за страницей
    Created 1996-2014 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList