Скриншоты, сделанные в смартфоне, не открываются на компьютере (программа для пересохранения)

Памятки и заметки Скрипты и Кодинг

Скриншоты, сделанные в смартфоне, не открываются на компьютере (программа для пересохранения)

Столкнувшись с проблемой когда средство просмотра фотографий Windows не открывает скриншоты сделанные в телефоне, выдавая ошибку о нехватке свободной памяти и начав искать решение, выяснилось что я далеко не одинок с этой проблемой. И к сожалению гуляющие советы и идеи, далеки о совершенства и зачастую помогают далеко не всем. Забегая вперед скажу, что вариант предложенный ниже, далек от совершенства но вполне может помочь и сэкономить кучу вашего времени и нервов.

Проблема заключается в том, что скачанные на компьютер скриншоты, сделанные на смартфоне (как правилом под управлением Android), а порой и простые фотографии, при их открытии штатными средствами Windows, не открываются. При этом это может быть Windows 7 и Windows 10, старый просмотровщик изображений или новый, итог один ошибка о том, что системе не хватает оперативной памяти или места на диске. Появление ошибки не зависит от того сколько у вас свободной оперативной памяти, эта ошибка вас может ждать и на топовой конфигурации. Проблема скорее всего в том, что при создании скриншота средствами смартфона и последующее сохранение его на компьютер, создает изображение со специфическим цветовым профилем, отсутствие которого в системе Windows и приводит к этой ошибке.

Ошибка: Средство просмотра фотографий Windows не может отобразить изображение. Возможна нехватка свободной оперативной памяти. Закройте некоторые неиспользуемые программы или. если жесткий диск почти заполнен, освободите часть места на диске, после чего повторите попытку.

Некоторые подменяют имеющиеся цветовые профили или путем добавления цветового профиля «no profile» или установкой какого-то специфичного цветового профиля. Порой даже чинят правками в реестре, а кому-то достаточно просто перевернуть изображение. Мне ни один из способов не помог, более того ставить по умолчанию цветовые профили, отличные от уже настроенных под монитор, чревато «поплывшими» цветами, а скачивать непонятные архивы вообще вредно.

Можно установить одну из многочисленных программ для просмотра изображений. Мне кажется это неудобным и опять же захламляется система. Можно пересохранять изображения через графические редакторы: Affinity Photo или Adobe Photoshop, Gimp, при этом чаще всего встанет нужный цветовой профиль, но делать это каждый раз, означает тратить кучу времени. Можно просто открыть в встроенном редакторе Paint, при этом вы получите возможность просмотреть изображение, но это тоже не очень удобно, особенно если дальше вам нужно печатать или регулярно просматривать изображение или их несколько. Можно попробовать в Paint пересохранить изображение, некоторым, но это помогает. Я пошел несколько иным путем, может не совсем быстрым и удобным, но свои задачи он решает. И так…

Для решения данной проблемы, в качестве временного решения, предлагаю вашему вниманию небольшую и простую программу (или скрипт) на Python 3.

реклама

Суть работы скрипта (программы) проста:

— запускаем скрипт (программу)
— жмем на кнопку «выбрать файл»
— выбираем проблемный скриншот или изображение (.jpeg, .jpg, .png)
— получаем в той же папке скриншот, который открывается.

При этом оригинал никуда не удаляется, все остается на своих местах, а новый файл в названии имеет как старое имя так и новое, чтобы было удобно найти и не запутаться. Что делать со старым изображением решать вам. Лично я, после того как убеждаюсь, что новый открывается, старый удаляю, во избежание путаницы. Программа не требует установки, весит всего 11 Мб и не мусорит после себя. Если уж она у вас запустилась, то дальше проблем не должно быть.

Внутри происходит следующий процесс: программа делает копию файла, при этом сохраняя его в .bmp, затем открывает только созданный .bmp файл и просто переименовывает в тот формат, который был ранее. Как видим все просто. А после уведомления об успешном сохранении, сразу же после первого файла можно пересохранять следующий, если у вас несколько изображений.

Исходный код доступен на Github (описание и скрипты на русском и английских языках)

Готовые приложения для Windows 7-10

Resaving -English

Пересохранялка — Русский

Вы можете сделать свой вариант приложения, взяв с Github python скрипт с исходным кодом (писалось под версию Python 3.8), необходимые исходники иконки в формате .PNG и готовый файл иконки в формате .ICO. Все это можно отредактировать, что-то убрать или дописать свой функционал и при желании через pyinstaller собрать в один файл, предварительно распаковав все содержимое архива в одну папку (например resaver_ru).

Например для windows команда на сборку у меня выглядела так:

pyinstaller resaver_ru.py --noconsole --onefile --icon=icon.ico

UPD:
Новая версия 3.1

UPD от 5.01.2022
https://stackoverflow.com/questions/43777106/program-made-with-pyinstaller-now-seen-as-a-trojan-horse-by-avg
https://www.reddit.com/r/Python/comments/hdci7k/pyinstaller_and_antivirus_software/
https://question-it.com/questions/329844/programma-sozdannaja-s-pomoschju-pyinstaller-teper-rassmatrivaetsja-avg-kak-trojanskij-kon
https://qna.habr.com/q/723649

Ни один из распространенных антивирусов ничего не детектирует, можно проверить самостоятельно.
https://www.virustotal.com/gui/home/upload

С другой стороны, для подобных ситуаций приводятся ссылки на исходный код, который открыт для просмотра и изучения. А так же доступны инструкции, по которым вы можете сделать все сами 😉

 
 
Вы нашли это полезным ?!
Если хотите отблагодарить, угостите чашечкой кофе ( yoomoney or ko-fi or boosty )

Отблагодарить автора

5 минут на чтение (0) комментарий

Ваш отзыв очень важен для Авторов этого блога. Критика, отзывы, дополнения и уточнения, вопросы, мотивируют развиваться и работать над собой и своими ошибками. Отклик на публикации, позволяет понять полезен ли материал, стоит ли создавать продолжение, дополнять или исправлять уже имеющийся материал, развивая блог и делая его полезнее.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *