Я делаю приложение, которое отображает изображение комнаты.Когда пользователь щелкает изображение, появляется изображение со словом объекта, и устройство произносит имя.Для этого я загружаю изображение шаблона с цветными блоками в местах расположения объектов и текстовый файл с различными именами объектов, сопоставленными с конкретным цветом блока.
Я также сделалJava-приложение, которое можно использовать для создания этих двух файлов.Пользователь рисует прямоугольники над изображением, а приложение сохраняет прямоугольники, нарисованные в новом файле изображения.
Вот код Java для создания / сохранения изображения:
BufferedImage i = new BufferedImage(img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_RGB);
Graphics g = i.getGraphics();
g.setColor(Color.BLACK);
g.fillRect(0, 0, i.getWidth(), i.getHeight());
//draw all the rectangles on the image
for(Rectangle r: rects.keySet()){
g.setColor(rects.get(r));
g.fillRect(r.x, r.y, r.width, r.height);
}
//write the BufferedImage to the file
try {
ImageIO.write(i, "png", saveTo);
} catch (IOException e) {
e.printStackTrace();
}
КогдаЯ открываю картинку в Photoshop, Paint и т. Д., И она проверяет, что цветные блоки соответствуют цвету, который они должны быть.
Когда я загружаю их в устройство Android, они не совпадают с цветом.Они различаются в диапазоне от 1-3 для каждого цвета (поэтому цвет, равный 25: 0: 0, читается как 24: 0: 0 или, возможно, 22: 0: 0).
На устройствеЯ загружаю изображение как растровое изображение и использую TouchEvent.getX () и getY (), чтобы найти положение на изображении.Затем я использую Bitmap.getPixel (x, y) для получения определенного цвета.
Если я использую такой редактор, как Photoshop или Paint, я получаю отличные изображения, которые читаются как обычно.Мой пользователь попросил создать собственное приложение-редактор, чтобы оно также могло создать файл конфигурации.
Извините, что так долго, и спасибо за любую помощь!