2012-05-24 3 views
0

Мне сложно найти библиотеку Java 2D для разработки программы рисования.Java 2D-библиотека для программ рисования

Все библиотеки я нахожу, кажется, для:

  • анимации
  • Graphing
  • игры

Ни одна из которых являются полезными для меня программа для рисования. (Этот конкретный проект в основном предназначен для веб-комиксов и печатных комиксов.)

Меня больше всего интересует то, что абстрагирует файл IO для изображений, которые практически слишком велики для загрузки в объект BufferedImage.

Инструменты Adobe, например, вероятно, не загружают в память целые 10MB (сжатые) файлы изображений в память - после распаковки это слишком большая физическая память, чтобы посвятить кеширование изображения (особенно если вы откроете десяток из них сразу) , поэтому в этих приложениях должна быть инфраструктура для управления файлами на диске и буферизация только актуальных областей памяти.

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

ответ

2

Вы пробовали посмотреть на StdDraw? В нем есть базовый рисунок. StdDraw can be downloaded here

+0

Спасибо, Bredlow. К сожалению, код для StdDraw просто использует объекты BufferedImage, поэтому он не показал мне ничего, что я еще не знаю. Мне нужно что-то, что работает на высоком уровне, например BufferedImage, но это прямо для файла io для операций с краской. BufferedImage будет использоваться только для кэширования масштабированной части, а не для всего изображения, как оно используется в StdDraw. –