Попробовал найти и вывести RGB данные одной картинки (ну конечно программа должна работать для любых картинок) в один соответствующий txt файл.
Начнем с кода программы.
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import javax.imageio.ImageIO;
public class ReadAndWriteImage
{
public static void main(String[] args) throws IOException {
File file = new File("I:\\1\\Esdeath - war music collection1.jpg");
File file2 = new File("I:\\1\\Esdeath - war music collection1.txt");
// Getting pixel color by position x and y
BufferedImage image = ImageIO.read(file);
PrintWriter printWriter = new PrintWriter(file2);
for (int y = 0; y < image.getHeight(); y++) {
for (int x = 0; x < image.getWidth(); x++) {
int clr = image.getRGB(x, y);
int red = (clr & 0x00ff0000) >> 16; //ну это не моя импровизация, а скопированное решение из одного ответа со стаковерфлоу
int green = (clr & 0x0000ff00) >> 8; //то же самое и про green и blue
int blue = clr & 0x000000ff;
printWriter.print(red + ", " + green + ", " + blue + "; ");
}
}
printWriter.close();
}
}
И так, с кодом теперь ознакомлены.
Теперь насчет проблемы.
Что посоветуете сделать? Как можно исправить эту даже не знаю как называть, ладно назовем это неисправностью.
Теперь дополнительная информация: Я решил попробовать вывести эти данные не одним файлом а множеством мелких txt файлов, количество которых зависит от высоты картинки (скажем 1280х720) - выводит 720 штук txt файлов. Но к сожалению, самый последний файл имеет ту же неисправность (что и описана на втором пункте на скрине txt файла)
Есть еще кое что, что вызывает волнение.
А это в случае если картинка недостаточно хорошо видна:
Но это еще не весь цирк.
я это сделал скрин txt, которую создала и заполнила сама программа, а вот ниже я сделал скрин того, что вывело IDE при попытке читать 800-ый (в смысле последний кусок данных) txt файл.
Удивительным образом, выводит правильную последовательность, по крайней мере на вид правильный, так как правило "цифра,цифра,цифра;" соблюдена.
Но почему тогда если напрямую открыть txt файл через блокнот - выводится неправильный вид?
вот дополнительный скрин
Как то запутался я.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Столкнулась с проблемой что нельзя одновременно у одного request вызвать и getReader(), и getInputStream(), в документации написано что нельзя и на практике...
Как считать xml-файл полностью в String, оставляя пробелы,но удаляя переносы строк?
подскажите пожалуйста как решить данную проблему, в интернете решения не помоглиВывод консоли при тестировании: