2010-01-30 1 views
7

Есть ли какая-нибудь библиотека для создания графики без использования AWT?
Мне нужны простые функции рисования (например, рисование линии) и функции графического рисования для создания графики в памяти для приложения приложения Google для приложений. Двигатель приложения не поддерживает AWT.Java: создать графику без awt?

Спасибо!

+0

Поддерживает ли клиент SVG? Если это так, вы можете посмотреть http://java.sun.com/javame/technology/msa/jsr226.jsp – rleir

+0

В том же духе, что и комментарий rleir, может ли батик быть вариантом? http://xmlgraphics.apache.org/batik/ – Hubert

+0

Это сайт, который может использовать любой пользователь, поэтому клиент может не поддерживать SVG. AlBlue: это неправда. – Damian

ответ

4

Если вы не хотите реализовать свой собственный класс изображения (скажем, растровое изображение) и алгоритмы рендеринга для линий, фигур, изображений.

Если у вас есть опыт работы с компьютерной графикой и растеризацией, это может быть не очень сложно, но в противном случае это будет больше, чем вы хотите откусить.

+0

Вот что я сделал, и он отлично работает, но проблема заключается в рендеринге текста. Я думаю, что я не могу решить написать свой собственный код. По крайней мере, не так легко, как рисование линий или кругов. – Damian

+0

@Damian: рендеринг текста сложный, и я не уверен, что вы найдете простое решение. Вы можете * попытаться использовать неместные части AWT в качестве стандартного пакета - я помню, что где-то я видел полное использование программного обеспечения (без использования графического процессора) для многих функций рисования. Они использовали его для бенчмаркинга и демонстрировали параллельный подход. – BobMcGee

+0

Ну, я нашел это: http://fonteditor.org/ ... Я попробую, как только смогу. – Damian

-1

Google Web Toolkit содержит красивую графическую библиотеку, предназначенную для взаимодействия с движком Google.

изменить, чтобы уточнить: Google App Engine предназначен для размещения приложений в Интернете. Вам нужно создать графику, которая может работать в браузере. Для этого вам нужно написать код на веб-языке, например Javascript. Google Web Toolkit содержит графическую библиотеку Java, которая сводится к Javascript, что избавляет вас от необходимости писать Javascript самостоятельно.

+0

Что? Google Web Toolkit не является графической библиотекой ... – Damian

+0

Но мне нужно создавать изображения на сервере. – Damian

1

Вы можете попробовать SenseLan. В requirements section говорится, что они не используют awt или ImageIO. Конечно, есть Images api, но он кажется довольно ограниченным в том, что он предлагает.

Edit:

Похоже, есть несколько возможностей Python, которые могли бы предложить вам некоторые ограниченные возможности рисования. Вы могли бы написать соответствующую функциональность изображения как питон веб-сервисов, и сохранить остальную часть приложения в Java:

  1. Replacing Functionality of PIL (ImageDraw) in Google App Engine (GAE)
  2. http://denislaprise.com/2008/08/21/drawing-images-on-google-app-engine/
+0

Ну, senselan замечательный, но он только преобразует изображения из формата в формат. Мне нужны простые графические функции (например, рисование линий) и рисование текста. – Damian

+0

Как гласит название, это должна быть библиотека Java. Мое приложение уже разработано в java. – Damian

+0

@Damian: Jhython - запустить код Python на Java и позволит вам преодолеть пробел. – BobMcGee

0

«The Java 2D API представляет собой набор классов для передовые 2D-графика и изображения, охватывающая линия искусство, текст и изображения http://java.sun.com/products/java-media/2D/index.jsp

Вот еще одна возможности: org.eclipse.draw2d Это, вероятно, зависит от затмения SWT.

+0

Посмотрите на javadoc: http://java.sun.com/j2se/1.4.2/docs/guide/2d/spec.html Я не могу использовать AWT. – Damian

1

Используйте Batik for GAE, который доступен как зависимость FOP от GAE.

Вы также можете отслеживать проблему в приложении Google bug tracker, где другие пользователи поделились другими идеями в комментариях.

-1

Я смущаюсь упомянуть PJA, который, как представляется, работает, если классы AWT присутствуют, но менеджер безопасности не позволяет вам их использовать.

0

TinyLine предоставляет vector graphics support на стороне сервера Google App Engine, а также обеспечивает поддержку SVG-рендеринга. См. Демо-версию SVG Thumbnail images.

+0

Не сработало для нас, и разработчик, похоже, почти потерял его. – David

2

Вы также можете попробовать проект appengine-awt, хотя он немного экспериментальный.

-1

Если вы используете Python для GAE вместо Java, то есть pybmp.

 Смежные вопросы

  • Нет связанных вопросов^_^