![]() |
|
Модераторы: bsa |
![]()
|
|
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Здравствуйте! Подскажите какие Linux-Библиотеки я могу использовать для работы с изображениями? остановился на выделении памяти под изображение! теперь нужны библиотеки, чтобы записать туда его и вывести на экран! эти функции под линуксом не работают и мне нужны альтернативные варианы. Написал немного не туда, но вы наверняка знаете принцип всего этого! Запанее спасибо.
Добавлено через 5 минут и 39 секунд те, у меня сейчас выделена память для изображения определенного размера с опр количеством бит на каждый пиксел в массиве! каков дальнейший принцип работы? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
ConverterDU, библиотек есть много... Например, libpng, libjpeg, libmng, libtiff, freeimage, DevIL, imagemagick...
Кстати, а какие функции не работают под Linux? Так как стандартных функций работы с графикой нет вообще! |
|||
|
||||
| afiskon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 31.3.2011 Где: Россия, Москва Репутация: нет Всего: 4 |
Если нужны какие-то манипуляции над изображением - GD или ImageMagic. Если просто вывести, советую покурить wxWidgets + Code::Blocks. Там все просто до безобразия.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
А если портить здоровье желания нет, то можно использовать Qt. Но речь ведь не о фреймворках, да? |
|||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
OpenCV, но автор не осилит чувствую
|
|||
|
||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Вобщем, суть в том, что с помощью прилагаемых функций в общих словах я могу выделить память, записать туда каждый пикселью.. Но чтобы конкретно вывести картину на монитор там тоже есть функции, но они на винде только пашут! Поэтому написано, мол, используйте линукс-библиотеки ...
Я про QImage прочитал уже...но так и не понял, могу я, все-таки, спомощью нее на экран выводить или. Я себе QtАссистента поставил, там есь все описания! Не подскажете какие именно мне подойдут....а то все подряд переводить долго! Это сообщение отредактировал(а) ConverterDU - 4.4.2011, 09:49 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
ConverterDU, для вывода картинки на экран нужно использовать QLabel. QImage - это для хранения в памяти и манипуляций. QPixmap это тоже в памяти, но оптимизировано для дальнейшего вывода.
|
|||
|
||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
да, но у меня для будущей функции есть только слеующие параметры: указатель на начало области памяти, где, якобы, находится картинка и id этой области... Есть такие функции?
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
что за id? размер этой области известен? Если известен, то используй конструктор QImage::QImage(const uchar * data, int width, int height, Format format), только тебе еще нужно знать, в каком формате изображение.
|
|||
|
||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
написано просто ID памяти. он 1 равен и значение не меняется! В принципе я могу его посчитать, там есть формула по которой функция размер считает.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
ConverterDU, ну так и используй. В чем дело? Только нужно указать ФОРМАТ изображения (png, jpg, bmp...).
Если же у тебя там только набор цветов, то нужно использовать методы bits() или scanLine() для задания цветов пикселей вручную. |
|||
|
||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
bsa, я сделал наконец!
|
|||
|
||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
спасибо, bsa!
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
![]()
|
| Правила форума "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. |