Есть ли библиотека Java для написания программы рисования?
Мне нужно написать простое приложение Java GUI, которое, в основном, позволяет пользователю отмечать области в изображении легкого КТ.
Чтобы упростить процесс маркировки, важно, чтобы программа предоставляла некоторые базовые инструменты/функции, похожие на программу рисования, например, MS Paint, например, отмену/повтор, ширину маркера (кисти) и заливку области.
Есть ли какая-либо библиотека Java, которая предоставляет компоненты для записи программы рисования?
Ответы
Ответ 1
Я предлагаю вам взглянуть на ImageJ. Большим плюсом является его корень в медицинской области, и он расширяется через пользовательский плагин.
Следующие части взяты из ImageJ Wikipedia.
ImageJ - это общедоступное, основанное на Java программа обработки изображений, разработанная на Национальные институты здравоохранения. ImageJ был разработан с открытым архитектуры, которая обеспечивает расширяемость через плагины Java и записываемые макросы.
И если вы не найдете функциональность в соответствии с вашими потребностями, это позволяет вам написать собственный плагин.
Пользовательские плагины позволяют для решения многих задач обработки изображений и проблемы анализа, из трехмерная живая клетка визуализации, радиологическому изображению обработка, множественная система обработки изображений сравнение данных с автоматизированными гематологические системы.
Единственная проблема, которую я могу предвидеть, - это количество дополнительных вещей, которые вы должны отправить вместе с функциональными возможностями, которые вы хотите реализовать.
Если вы хотите избежать вышеупомянутой проблемы, обратитесь к @Zack's. В дополнение к этому посмотрите на них:
Ответ 2
Processing позволяет рисовать фигуры, задавать толщину и цвета линий, отображать изображения и выполнять многие другие функции рисования в Java. Его можно использовать в качестве библиотеки Java и интегрировать в приложение Swing.
Вот пример Образец обработки:
void setup() {
size(400, 400); // set window size to 400 x 400 pixels
PImage lungImg = loadImage("http://i.stack.imgur.com/gwyp0.jpg");
image(lungImg, 0, 0);
}
void draw() {
}
void mousePressed() {
noFill(); // no fill color for the circle
stroke(255, 0, 0); // set pen color to red
strokeWeight(5); // set line thickness to 5 pixels
// draw ellipse at mouse position, 50 pixels height & width (i.e. a circle)
ellipse(mouseX, mouseY, 50, 50);
}
Это будет работать самостоятельно в среде обработки IDE, которая также добавит синтаксический сахар. Это "реальная" Java внизу; методы в приведенном выше коде можно найти в классе PApplet.
Щелкает места красным кружком. Здесь полученное приложение:
![enter image description here]()
Ответ 3
Если вы хотите сделать настольное приложение, вы, вероятно, будете использовать Swing.
Для рисования на холсте, в частности, см. Java 2D API.
Отменить/повторить можно с помощью шаблона проектирования команд.
Ответ 4
Просмотрите gef и рисуйте 2d из eclipse. Draw2D обеспечивает возможность рендеринга графики поверх swt. GEF предоставляет структуру MVC, а также структуру команд для отмены/повтора. Существует кривая обучения, но GEF действительно мощный.