Wie fügt man ein Bild mit Pillow auf ein größeres Bild ein?

8

Ich habe eine ziemlich einfache Code-Datei:

%Vor%

Wenn ich jedoch versuche, es auszuführen, erhalte ich den folgenden Fehler:

%Vor%

Was verursacht diesen Fehler? Sie sind beide RGB-Bilder, die Dokumente sagen nichts über diesen Fehler.

    
user1796160 09.02.2015, 10:20
quelle

2 Antworten

14

Das Problem ist beim ersten Einfügen - gemäß der PIL-Dokumentation ( Ссылка ), wenn kein "Box" -Argument vorhanden ist übergeben wird, müssen die Bildgrößen übereinstimmen.

BEARBEITEN: Ich habe die Dokumentation falsch verstanden, Sie haben recht, es ist nicht da. Aber von dem, was ich hier versucht habe, scheint es kein zweites Argument zu geben, Größen müssen übereinstimmen. Wenn Sie die Größe des zweiten Bildes beibehalten und es in der oberen linken Ecke des ersten Bildes platzieren möchten, tun Sie Folgendes:

%Vor%     
rayt 09.02.2015, 10:58
quelle
0

Ich könnte also etwas zu spät kommen, aber vielleicht hilft es den Leuten, ein wenig nachzufahren:

Als ich das gleiche Problem hatte, konnte ich nicht viel darüber finden. Also habe ich ein Snippet geschrieben, das ein Bild in ein anderes einfügt.

%Vor%

Nicht unbedingt der beste Ansatz, da es ungefähr O (N ^ 2) erfordert, aber es funktioniert für kleine Bilder. Vielleicht kann jemand den Code verbessern, um effizienter zu sein.

Ich habe es in Eile gemacht, also hat es auch keine Eingabe-Validierung. nur wissen, dass die Breite und Höhe des Quellbildes kleiner oder gleich der Breite und Höhe des Zielbildes sein muss, sonst wird es abstürzen. Sie können auch nur das gesamte Bild und nicht Abschnitte oder nicht rechteckige Bilder einfügen.

    
JH_WK 01.04.2018 19:38
quelle