вопрос по Java

Landstreicher

Есть ли тут спецы по Java? У меня тут возник простой вопрос. Хочу написать простенькую программу которая рисует определенные картинки. Картинки строятся из графических примитивов путем математических расчетов. Кроме того, нужны функции чтения/сохранения в какой-нибудь графический формат типа png,jpg,bmp и функции рисования текста. Причем нужно чтобы шрифт рисовало красиво, с антиалиасингом, поддерживало русский язык. Сама программ очень небольшая, очень хочется кросс-платформенности, чтобы работало и на windows и на linux. Соотвественно, вопрос состоит в том что можно ли это сделать на Java и много ли это потребует усилий? Или это геморройно и лучше заюзать какой-нибудь Qt? Особенно меня интересует как там обстоит дело с шрифтами и графическими файлами.

abrek

> с шрифтами и графическими файлами
слышал байку, что будто бы чуть ли не единственный способ - рисовать в virtual framebuffer (Xvfb обычным тулкитом, и потом из него результат добывать
ногами не бейте, если что

Hastya

Нормально все в Java с графикой. Но небольшую программу ИМХО нет смысла писать на Java.

Ivan8209

man gnuplot
или PostScript
---
...Я работаю дзен-позитивистом...

Landstreicher

gnuplot и PostScript - замечательные вещи, но они приспособлены для векторных картинок. Вся проблема, что моя картинка по природе своей растровая и строится она чем-то типа:
for (x= ... )
for (y = ...)
c = calculate_color(x,y);
set_pixel(x,y,c)
Конечное такое можно написать в Postscript, но IMHO это как-то странно будет выглядеть.
И как быть со шрифтом? Мне нужно сделать несколько буферов типа битмапа в памяти, нарисовать в одном из них текст, в другом - картинку из файла, а потом функция calculate_color будет лазить в эти битмапы функцией get_pixel. Преобразование которое там делается чрезвычайно сложное, поэтому никакими rotate/scale/transform оно не задается. Единственный вариант - это делать попискельно (?). В Postscript разве можно попиксельно смотреть в то, что только что нарисовано?
А на Java хочется написать, потому что хочется чтобы программа (сама программа, а не результат ее работы) были доступны на любой более-менее стандартной системе. Например, нельзя ориентироваться на то, что у пользователя Windows будет стоять gnuplot - IMHO это довольно редкое явление.

Hastya

Ну, типа, в Java можно это все, не уверен только насчет антиалиасинга.
Я ответил на твой вопрос?

Nigredo

Да, я когда-то давно писал. С графикой там нормально, только непомню, можно ли по простому сохранять в jpeg (то, что его выводить можно - это точно).

renozarip

через JAI (Java Advanced Imaging) точно можно

Landstreicher

Если там с графикой нормально, значит все что мне нужно, есть. То есть ответил
Оставить комментарий
Имя или ник:
Комментарий: