Skip to content
This repository was archived by the owner on Feb 21, 2025. It is now read-only.

Latest commit

 

History

History
75 lines (45 loc) · 9.44 KB

README.md

File metadata and controls

75 lines (45 loc) · 9.44 KB

Python: Resaving Image with GUI

Данный скрипт служит для решения проблемы с неоткрывающимися картинками и скриншотами в Виндовс, сделанные на смартфоне. Например для случаев, когда при открытии изображения штатными средствами системы, вы получаете ошибку о нехватке памяти и ресурсов компьютера.

This script is used to solve the problem with non-opening pictures and screenshots in Windows, made on a smartphone. For example, for cases when, when opening an image using standard system tools, you receive an error about insufficient memory and computer resources.

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

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

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

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

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

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

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

Общая схема

Scheme

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

Windows 7-10 applications \ Приложения для Windows 7-10

Python Resaving Image with GUI-English

Скрипт на питоне, для пересохранения изображений с интерфейсом -Русский

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

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

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

Copyrights and Licenses

Not for commercial use.

2022 Mons

Did you find this useful?! | Вы нашли это полезным ?!

Happy to hear that :) If You want to help me, you can buy me a cup of coffee ☕ ( yoomoney or ko-fi, boosty.to )

Рад это слышать :) Если вы хотите мне помочь, вы можете угостить меня чашечкой кофе

Thanks for reading 😻

Спасибо за чтение!

~Mons