Сегодня обратился ко мне один из наших пользователей, с очень неоднозначной проблемой. Звучало это так: «Картинка jpeg —не могу открыть, выходит ошибка». Достаточно странное заявление, с учетом того, что никаких проблем ранее ни у кого не наблюдалось, да и этот же самый пользователь не первый день работает с компьютером.
Подключаюсь к компьютеру и действительно вижу ошибку следующего содержания:
«Средство просмотра фотографий windows не может отобразить изображение. Возможна нехватка оперативной памяти. Закройте некоторые неиспользуемые программы или, если жесткий диск почти заполнен, освободите часть места, после чего повторите попытку. «

Сказать, что я был удивлен такому сообщению — ничего не сказать. Идем и проверяем ресурсы. Свободного места на диске более 40 ГБ. Оперативная память занята на 43%. Ресурсы есть, а программа говорит о их нехватке.
Для частоты эксперимента переношу эту картинку на свой компьютер и наблюдаю точно такую же картину. Странно… Копаем дальше.
Открываем свойства изображения:

Тип файла: jpeg. Ограничений нет, шифрования нет, запретов нет. Все в штатном режиме, никаких намеков на проблему. Для достоверности проверяю несколько других картинок и компьютер с ними работает безупречно.
Решаю выяснить происхождение данной картинки. Фото было сделано на телефон Xiaomi и отправлено через viber. Уже что-то.
Картинка jpeg — файл стандартный, а проблема нет
Идем на форум microsoft.com искать связь между windows и xiaomi. Натыкаюсь на следующую рекомендацию:
«Правой кнопкой в пустое место рабочего стола\Разрешение экрана\Дополнительно\Управление цветом.
- Открылось окно «Управление цветом» выберите устройство: «Универсальный монитор — «Имя вашей видеокарты»».
- В списке «Профили, сопоставляемые этому устройству» Нажимаем кнопку Добавить.
- Выбираем профиль «ICC sRGB IEC61966-2.1» и нажимаем Ок . «
Выполняем все в точности и ничего…Не помогло. Но понимание получили. Все дело действительно в профиле. ОС телефона, при создании фотографии, в ее свойства вшивает дополнительную запись о кодеках и цветовых профилях, которые в стандартном просмотрщике windows недоступны.
Открываем картинку через Notepad++ и выявляем эту строчку путем сравнения с обычной .jpeg картинкой. Выглядит виновник так: «(ICC_PROFILE mntrRGB XYZ enUS Google.inc )«. Причина ясна, а пути решения приходят на ум сами. Использовать любой другой графический редактор или же сторонний просмотровщик.
Резюмируем. Фотографии, в формате — картинка jpeg, сделанные на телефоны китайских брендов, имеют конфликт со стандартным средством просмотра фотографий. Выход следующий:
- Открыть картинку в Paint и пере сохранить.
- Открыть с помощью стороннего просмотрщика, например Xnview.
На этом все причины ясны, решение найдено, пользователи довольны. Надеюсь это статья кому-то поможет в решение подобных вопросов.
Спасибо за внимание.
Пишите комментарии, подписывайтесь на блог, буду регулярно размещать интересные задачи, которые возникают в процессе работы.
Всем добра!