![]() |
|
Модераторы: bsa |
![]()
|
|
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Почитал в соседней теме 5 страниц на тему того как люди пытались получить из BMP файла цвет точки по её координате.
Но. А если файл не BMP, если например JPG, GIF, PNG..? По каждому писать свой код, где программировать спецификацию формата? Неужели для C++ нет библиотеки для работы с графическими файлами, которая позволила бы делать подобное гораздо проще? (которую можно было бы использовать под компилятором G++ (GNU GCC) кроссплатформенно) Это сообщение отредактировал(а) Proger10 - 28.3.2009, 23:51 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
А.. ну тогда это похвально конечно
А можно ли привести пример такой, которую можно было бы использовать под компилятором G++ (GNU GCC) кроссплатформенно? Это сообщение отредактировал(а) Proger10 - 28.3.2009, 23:51 |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
ImageMagick
GimpAPI boost::gil средства gtk (не уверен) средства QT может еще что вспомню. |
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Под линуксом очень люблю пользоваться ImageMagick'ом. Обалденная вещь. С огромной радостью узнал, что у них есть такой проект как Magick++: http://www.imagemagick.org/Magick%2B%2B/ (C++ API для ImageMagick)
Поэтому копаю пока что в эту сторону. Кстати, она АПИ доступно и на других языках: http://magick.imagemagick.org/script/api.php Документация апи: http://magick.imagemagick.org/Magick++/Documentation.html В частности низко-уровневая работа с пикселями: http://magick.imagemagick.org/Magick++/Pixels.html Там указан пример компиляции программ с использованием ImageMagick API для Юниксовых систем: c++ -o example example.cpp `Magick++-config --cppflags --cxxflags --ldflags --libs` А для винды насколько я понял нужно таскать за собой ДЛЛки ИмиджМэджика.. cutwater, как я понимаю, кроссплатформенности не получается? Как я понимаю в общем дистрибе (кросс-платформенном) прийдётся таскать и либы для винды, и либы для юникса (, и либы для макоси)... Или есть другой менее габаритный способ использования? |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
а) низкоуровневая работа с пикселями уныла и меня не порадовала. конкретно проблема Q8 и Q16
б) не порадовала убогая документация все равно приложение придется компилить под каждую платформу, будь то винда или линукс. и в дистрибутиве таскать библиотеки или требовать зависимости. не любовь к dll для меня до сих пор странна. все этим пользуются, почему такое предвзятое отношение. и все решается нормальным инсталлятором. иначе советую задуматься о смене языка. Добавлено через 1 минуту и 22 секунды Общего дистра кроссплатформенного никогда не будет. Будет отдельно под каждую платформу. Но Вам код изменять не придется. Конечно вы можете все засунуть в один дистр, но вот скажите зачем виндоюзеру нужна сборка под linux и macos. |
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
А каким образом Вы работаете с пикселями?
да, да, я именно об этом и говорил. Скорее всего Вы действительно правы. Ограничиться нужно только тем, что код изменять не требуется. Код компилить под разную платформу это ясное дело. Сорри, просто, наверное как Вы поняли уже |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
eсли Вы имeете кроссплатформенность на уровне машинного кода ,то, увы, такое недосягаемо (для cpp), а если на уровне исходного кода - то тогда для каждой оси свой дистриб Это сообщение отредактировал(а) mes - 29.3.2009, 16:45 |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
Нужно было написать небольшую утилиту аля стеганография. Вобщем ImageMagick в этом плане заставил повеситься в плане работы с цветом между Q8 и Q16 сборкой. Так мне никто толком и не ответил по данной теме.
В итоге переписал на Python + PIL Но это лично мои косяки и я все же надеюсь когда-нибудь найду ответ. Все таки не хотелось бы из-за этого отказываться от пакета ImageMagick. |
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
cutwater, а ты разработчикам ImageMagick (точнее Magick++) не писал? может они чем бы смогли помочь..
|
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
|
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
зато с проблемой бы разобрался, а то из-за этого приходится не использовать такую мощную штуку!
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |