Ich möchte ein Programm ausführen und verteilen, das die Größe von Bildern in Python3 + Pyinstaller ändert

Planung / Übersicht

Umgebung

Lauf

Lass es uns jetzt versuchen. Geben Sie an der Eingabeaufforderung zur Installation Folgendes ein.

pip install pyinstaller

Programm, um exe zu sein

Was ich dieses Mal geschrieben habe, ist ein Programm zum Ändern der Bildgröße. Sie müssen es nicht kopieren, weil Sie etwas schreiben, das Sie mit freier Software sofort erledigen können. Bitte verwenden Sie Ihr Lieblingsprogramm.

resize.py


#! python3
# -*- coding: utf-8 -*-
from PIL import Image
import sys


print("Ändern Sie die Größe des Bildes")

try:
    inp_img = str(input("Geben Sie den Dateinamen ein:"))
    filename = "picture/" + inp_img + ".jpg "
    img = Image.open(filename, "r")
except FileNotFoundError:
    print("[Fehler Datei nicht gefunden!\n"
          "Legen Sie die Datei in den Bildordner")
    exit()

try:
    inp_a = int(input("Vertikal:"))
    inp_b = int(input("Seite:"))
except ValueError:
    print("[Fehler] Bitte geben Sie eine Nummer mit halber Breite ein")
    exit()

resize_img = img.resize((inp_a, inp_b))

# 2017/07/21
# .Ich muss jpg löschen'pic01.jpg_resize2.jpg'so werden
filename = filename.replace(".jpg ", "")
filename = filename + "_resize2.jpg "

resize_img.save(filename, "JPEG", quality=100, optimize=True)
print("【Ergebnis】: " + filename)

Ich habe gelesen, dass die Größe mithilfe von Miniaturansichten ordentlich geändert werden kann, also habe ich es versucht, aber ich habe aufgegeben, weil die Größe nicht auf die angegebene Größe angepasst wurde (siehe den Code als Bonus). Wenn es sich um resize () handelt, hat es die angegebene Größe.

FileNotFoundError ist ein Fehler, wenn eine Datei nicht gefunden werden kann. Wert Fehler ist eine Fehlergegenmaßnahme, wenn Sie etwas anderes als eine Zahl eingeben.

Sie können die Qualität verbessern, indem Sie die Qualitätszahl erhöhen.

Ändern Sie die Größe des Bildes
Geben Sie den Dateinamen ein:pic01
Vertikal:100
Seite:200
【Ergebnis】: picture/pic02_resize2.jpg
pip install pillow

Verwenden wir Pyinstaller

Geben Sie an der Eingabeaufforderung Folgendes ein.

pyinstaller.exe resize.py --onefile --clean

(* 1) Schreiben Sie den Namen des Programms, das Sie in exe konvertieren möchten, in den Teil resize.py. (* 2) Tun Sie dies natürlich in der Hierarchie, in der sich das angegebene Programm befindet.

Ich denke, dass / dist erstellt wird, also doppelklicken Sie auf die Exe darin. Da / res / picture in resize.py erforderlich ist, muss es im Voraus erstellt und das Bild eingefügt werden. Ich kann mich nicht erinnern, einen solchen Prozess wie das automatische Erstellen eines Ordners geschrieben zu haben.

Übrigens, wenn ein Fehler auftritt, verschwindet der Bildschirm sofort und der Kommentar kann nicht gelesen werden. Also werde ich es ein bisschen mehr umschreiben.

def end():
    while True:
        key = str(input("'e'Zum Beenden eingeben:"))
        try:
            if key == "e":
                sys.exit()
        except ValueError:
            break

Wenn Sie exit () des vorherigen Programms in end () umschreiben, wird es erst beendet, wenn die Taste e eingegeben wird.

Betrachtung

Ich dachte, dass das Programm exe sein sollte, um nicht von der Eingabeaufforderung abhängig zu sein, aber die GUI mit PyQt usw. ist besser.

Bonus

Ändern Sie die Größe des Programms mithilfe der Miniaturansicht. Wenn Sie die Größe auf eine geeignete Größe ändern möchten, verwenden Sie die Miniaturansicht. Wenn Sie die Größe wie angegeben ändern möchten, verwenden Sie die Größe ändern.

from PIL import Image

print("Größe ändern.Es wird nur JPG unterstützt.")
inp_img = str(input("Bitte geben Sie nur den Dateinamen ein:"))
filename = "picture/" + inp_img + ".jpg "
img = Image.open(filename, 'r')

a = int(input("Vertikal:"))
b = int(input("Seite:"))

img.thumbnail((a, b), Image.ANTIALIAS)
img.save(filename+"_resize.jpg ", "JPEG", quality=100, optimize=True)

Referenzmaterial

Recommended Posts

Ich möchte ein Programm ausführen und verteilen, das die Größe von Bildern in Python3 + Pyinstaller ändert
Ich habe ein Programm erstellt, um Bilder mit Python und OpenCV in ASCII-Grafik umzuwandeln
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ich möchte eine Python-Umgebung erstellen
Ein Python-Programm, das die Größe eines Videos ändert und es in ein Bild verwandelt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Ich möchte mit Python ein Fenster erstellen
Ich möchte ein Spiel mit Python machen
Ich möchte mit Python in eine Datei schreiben
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Python-Programm ist langsam! Ich möchte beschleunigen! In einem solchen Fall ...
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
Ich möchte einen Python-Generator viele Male iterieren
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich möchte eine Datei mit Python zufällig testen
Ich möchte mit einem Roboter in Python arbeiten.
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich möchte einen Quantencomputer mit Python betreiben
Ich habe in Python ein Programm erstellt, das FX-CSV-Daten liest und eine große Anzahl von Diagrammbildern erstellt
[Mac] Ich möchte einen einfachen HTTP-Server erstellen, auf dem CGI mit Python ausgeführt wird
Ich habe schnell ein Programm geschrieben, um DI mit Python zu lernen
Ich möchte viele Prozesse von Python aus starten
Ich habe versucht, "ein Programm, das doppelte Anweisungen in Python entfernt"
Eine Standardmethode zum Entwickeln und Verteilen von Paketen in Python
Ich möchte eine Nachricht von Python an LINE Bot senden
Ich möchte die Natur von Python und Pip kennenlernen
So schreiben Sie eine Meta-Klasse, die sowohl Python2 als auch Python3 unterstützt
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Erstellt einen Toolsver, der Betriebssystem, Python, Module und Toolversionen an Markdown ausspuckt
Ein Programm, das die für iOS-App-Symbole in Python erforderliche Bildgröße automatisch ändert
Ich möchte eine Karaoke-Klangquelle erstellen, indem ich Instrumente und Gesang mit Python trenne
Ich möchte einen Sprachwechsler mit Python und SPTK in Bezug auf eine berühmte Site erstellen
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Ich möchte Bilder kratzen und trainieren
Ich möchte mit Python debuggen
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Ich habe versucht, eine Python-Datei in eine EXE-Datei zu verwandeln (Rekursionsfehler unterstützt)
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Wollen Sie nicht sagen, dass Sie ein Gesichtserkennungsprogramm erstellt haben?
Ich möchte den vollständigen Text mit elasticsearch + python durchsuchen
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Schreiben Sie ein Programm, das das Programm missbraucht und 100 E-Mails sendet
Holz kratzen und essen - ich möchte ein gutes Restaurant finden! ~ (Arbeit)
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Eine Kurzanleitung zu PyFlink, die Apache Flink und Python kombiniert
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
[Python] Ich habe versucht, mit argparse ein einfaches Programm zu erstellen, das in der Befehlszeile funktioniert
Ich möchte die Frage nach der Methode "__init__" und dem Argument "self" der Python-Klasse klären.
So verpacken und verteilen Sie Python-Skripte
[Python] Ein Programm, das Treppen mit # erstellt
[Python] Ich habe einen Dekorateur gemacht, der keinen Nutzen zu haben scheint.
Ich möchte in der Einschlussnotation drucken
Ich habe ein Pay-Management-Programm in Python erstellt!