В настоящее время я работаю над обработкой изображений на Java. Первоначально я использовал класс ImageIO написать изображенияКак читать байты изображения на Java?
ImageIO.write(image,"jpg",os);
проблема с этим методом является утро Лоссинга фактического размера и качество. Тогда я предпочел потоковый
Files.readAllBytes(fi.toPath());
читать и
fos.write(fileContent);
писать изображений. Это прекрасно работает. Проблема, с которой я столкнулся, - это читать только файлы, но не изображения (например, изображение BuffreredImage). Возможно ли читать изображение, а не файлы здесь, или я должен перейти к другому IO?
фрагмент кода здесь,
try {
File fnew=new File("d:\\3\\IMG1.jpg");
java.io.FileOutputStream fos = new java.io.FileOutputStream(new File("d:\\3\\Test1\\4.jpg"));
File fi = new File("d:\\3\\7.jpg");
byte[] fileContent = Files.readAllBytes(fi.toPath());
fos.write(fileContent);
} catch (Exception e) {
System.out.println("Exception");
}
Любой Вид предложения или помощь будет оценена. Заранее спасибо.
Мой тип ввода Изображения только не файлы. :-( –
вы можете отредактировать вопрос и добавить дополнительные сведения – lakshman
@ Laxman - Я обрабатываю изображения (считывая изображения, меняя качество, изменяя его размер, устанавливая водяные знаки и, наконец, записывая его в пункт назначения). Проблема: если я использую ImageIO.write (), то я теряю фактическое качество изображения, когда пишу, поэтому перешел в FileOutputStream и прочитал байт []. Мой вопрос в том, есть ли возможность читать байты изображения при вводе изображения или мне нужно идти с другим IO? –