Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Размер файла изображения не соответствует размеру исходного файла. В чем причина? / 7 сообщений из 7, страница 1 из 1
21.10.2012, 16:10:36
    #38007304
YK13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер файла изображения не соответствует размеру исходного файла. В чем причина?
Добрый день.
В настоящий момент нахожусь в процессе перехода на java с C# (хотя может не совсем полного перехода, просто часто приходится сталкиваться с разработкой на java) в силу ряда причин. Возник вопрос по работе с изображениями. Ну в общем открыть, сохранить как..., изменить размер – вроде бы всё понятно. И файлы сохраненные читаются и размер изображения в них соответствует заданному. Но вот размеры сохраненных файлов далеко не соответствуют исходникам. Простой пример файл jpg размером 4,81MB открыл в Gimp и сохранил как файл jpg c другим именем – его размер получился 4,35MB. Сделал то же самое в java
Код: java
1.
2.
BufferedImage srcImg = ImageIO.read(new File(„C:\\SrcFile1.jpg“));
ImageIO.write(srcImg, „jpg“, new File(„C:\\DstFile1.jpg“));


размер файла на выходе получился 0,98MB

C png файлами похожая история но направление другое – исходный файл имеет размер 13,4MB а файл на выходе в java (код выше) имеет размер 20,1MB

Что еще необходимо учесть для того чтобы размер файла изображения в данном случае соответствовал (или был близким к исходному)

Зараннее благодарен за помощь
С уважением ко всем участникам форума
YK13
...
Рейтинг: 0 / 0
21.10.2012, 17:20:02
    #38007342
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер файла изображения не соответствует размеру исходного файла. В чем причина?
YK13,

- в jpeg на размер влияет размер в пикселях и сжатие-качество. Т.к. это формат с изначальной потерей качества исходных пикселей.
- для того чтобы не менять размер файла - не надо загружать в РЕДАКТОРЫ ИЗОБРАЖЕНИЙ.
- настройки качества фото должны быть в свойствах объекта. Надо посмотреть на класс-объект.
...
Рейтинг: 0 / 0
21.10.2012, 20:25:23
    #38007478
YK13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер файла изображения не соответствует размеру исходного файла. В чем причина?
Ну во первых, большое спасибо за отклик.
Petro123- для того чтобы не менять размер файла - не надо загружать в РЕДАКТОРЫ ИЗОБРАЖЕНИЙ.

Да, здесь я это привел в качестве примера того что если загрузить изображение из файла и не проводить над ним никаких манипуляций то сохранив его в другом файле размер файла будет таким же как и исходного

Petro123- в jpeg на размер влияет размер в пикселях и сжатие-качество. Т.к. это формат с изначальной потерей качества исходных пикселей.

Я не свожу свой вопрос только к jpeg. Меня интересует вообще в чем причина того что загрузив изображение из файла и ВООБЩЕ НИЧЕГО НЕ ДЕЛАТЬ С НИМ а просто сохранить его в другом файле такого же формата (как я это сделал при помощи редактора изображений) то размер нового файла будет СУЩЕСТВЕННО ОТЛИЧАТЬСЯ от исходника. Размер в пикселях вообще не меняю.

Petro123- настройки качества фото должны быть в свойствах объекта. Надо посмотреть на класс-объект.

???? Прошу прощения, (не очень хорошо знаком с java) можно ли как то поподробнее или на примере
Заранее благодарен
...
Рейтинг: 0 / 0
21.10.2012, 22:52:43
    #38007545
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер файла изображения не соответствует размеру исходного файла. В чем причина?
YK13,
- с точки зрения программиста, загружая изображение в редактор, вы декодируете его. Значит меняете его свойства на умолчательные редактора (сжатие, палитра, цвет профиль, ....)
- с точки зрения пользователя gimp или фотошоп, неужели нельзя посмотреть какие свойства изменились в новом файле?
...
Рейтинг: 0 / 0
22.10.2012, 01:17:18
    #38007603
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер файла изображения не соответствует размеру исходного файла. В чем причина?
YK13Что еще необходимо учесть для того чтобы размер файла изображения в данном случае соответствовал (или был близким к исходному)
Для теста попробуй проделать те же манипуляции с файлом BMP. Ручаюсь, выходящий размер будет тот же. В остальных случаях (jpeg, png) происходит декодирование и кодирование алгоритмами из пакета ImageIO, которые могут отличаться от того, которыми были записаны входящие файлы (и это не учитывая параметры - качество/сжатие, цветовые нюансы). Кстати, в инете навалом статей как посмотреть сжатие и как его "настроить".
...
Рейтинг: 0 / 0
22.10.2012, 01:39:22
    #38007608
YK13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер файла изображения не соответствует размеру исходного файла. В чем причина?
IDVsbruck Кстати, в инете навалом статей как посмотреть сжатие и как его "настроить".

Понял, буду копать в этом направлении.

Кстати, вот только что искал ответ на свой вопрос в инете сейчас. И где то промелкнуло что еще и метаданные из файла источника не сохраняются при записи. Что их отдельно надо считывать и записывать в исходящий файл. Это тоже может как то влиять?
...
Рейтинг: 0 / 0
22.10.2012, 08:25:40
    #38007666
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер файла изображения не соответствует размеру исходного файла. В чем причина?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Размер файла изображения не соответствует размеру исходного файла. В чем причина? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]