библиотека для рисования
Модератор: Модераторы разделов
-
zeron
- Сообщения: 77
- ОС: Linux
библиотека для рисования
Подскажите пожалуйста библиотеку на С, с помощью которой можно рисовать в окне точки в градациях серого, т.е. например есть массив элементы которого имеют значения от 0 до 255 и эти значения и будут яркостью точек.
Если узор созвездий подобен луку тугому,
А череда жизней душных - тетиве неразрывной.
То дух твой, наверное, подобен стреле,
Калёной в пламени тысячи Солнц.
-
FatZer
- Сообщения: 33
- ОС: Gentoo
-
Crazy
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: библиотека для рисования
Если ничего кроме этой, достаточно примитивной, задачи не требуется, то я знаю только один, достаточно примитивный, но очень простой в использовании, инструмент. Правда, он для C++, а не для C. CImg.
Мои розовые очки
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: библиотека для рисования
есть формат BMP, там всё примитивно: подряд идут числа, каждое число == одна точка (например в формате RGB, по 8 бит на цвет, четвертый байт не используется)
Если вы Ъ, то можете использовать http://ru.wikipedia.org/wiki/X_Pixmap (X умеет искароппки), такое вы можете обрабатывать любым текстовым редактором, и вставлять картинки в код простой копипастой.
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: библиотека для рисования
drBatty, ну так если уж совсем простоты хочется, можно вообще гнуплотом воспользоваться, безо всякого программирования.
А если хочется на сях, то удобнее-таки OpenGL использовать: формируем картинку, потом цепляем ее как текстуру на прямоугольник. Все элементарно. И крутить/изменять масштаб/перемещать легко. И не тормозит на больших рисунках (в отличие от всяких canvas и pixmap).
А вообще, конечно, для такой простой задачи вариантов - вагон и маленькая тележка.
А если хочется на сях, то удобнее-таки OpenGL использовать: формируем картинку, потом цепляем ее как текстуру на прямоугольник. Все элементарно. И крутить/изменять масштаб/перемещать легко. И не тормозит на больших рисунках (в отличие от всяких canvas и pixmap).
А вообще, конечно, для такой простой задачи вариантов - вагон и маленькая тележка.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
Crazy
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: библиотека для рисования
Это если картинка маленькая. А если там 10000x10000?
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
Janik
- Сообщения: 870
- Статус: Начлаб
- ОС: Debian
Re: библиотека для рисования
TGA как вариант.
А можно и на SDL сделать.
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Опыт - это когда все получается с первого раза.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: библиотека для рисования
я имел ввиду случай с написанием программы, но самый простой. Предложенные варианты годны для генерации картинок без всяких либ. либа нужна только для вывода, но, AFAIK, в любом тулките такая функция есть.
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: библиотека для рисования
Как уже выше говорили, targa еще проще: не надо шапку расписывать.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
Crazy
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
Re: библиотека для рисования
И какой профит от картинки, когда OpenGL поддерживается аппаратно?
Desipere in loco
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
-
Janik
- Сообщения: 870
- Статус: Начлаб
- ОС: Debian
Re: библиотека для рисования
Скорее всего имелось ввиду: зачем загружать текстуру вмсто рисования отдельных точек?
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Опыт - это когда все получается с первого раза.
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: библиотека для рисования
Затем, что это быстрей и проще. Особенно на больших размерах. И занимает намного меньше памяти.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
Yaros
- Сообщения: 501
- ОС: Debian Wheezy / Gentoo
Re: библиотека для рисования
А можете объяснить? Просто мне казалось, что программно как раз легче точки (легче в плане памяти). Но я не спец, сразу говорю =)
-
Crazy
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
Re: библиотека для рисования
Приложи результат тестов где действительно быстрее.
А вот с простотой не проще, нужно знать как создать и нарисовать картинку, потом как сделать и загрузить текстурку, в то время как рисование по точкам это вызов в цикле glVertex и glColor.
А если не нравиться цикл, то можно использовать glVertexPointer, для вывода массива точек.
Desipere in loco
-
zeron
- Сообщения: 77
- ОС: Linux
Re: библиотека для рисования
спасибо за советы, в будущем посмотрю в сторону OpenGL, а пока рисую через SDL, в каждый канал цвета передаю одно и то же число, вот и получаю градации серого.
Если узор созвездий подобен луку тугому,
А череда жизней душных - тетиве неразрывной.
То дух твой, наверное, подобен стреле,
Калёной в пламени тысячи Солнц.
-
Janik
- Сообщения: 870
- Статус: Начлаб
- ОС: Debian
Re: библиотека для рисования
вариант попроще: использовать 8 бит на пиксель, загрузить палитру с градациями и просто записывать числа. Конечно, данный вариант будет помедленней работать в Xorg, так как идет преобразование 8 BPP -> 24 BPP (или какя там у Вас глубина цвета?).
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Опыт - это когда все получается с первого раза.
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: библиотека для рисования
Лень. Я это когда-то проверял, когда делал вывод на экран видео с веб-камеры + результат обработки этого видео. По точкам придется перебирать поочередно каждый пиксель, генерировать точку с нужными координатами и нужным цветом… Геморрой, в общем. И памяти больше занимает.
Что может быть сложного в генерировании массива?
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка