Warum bekomme ich die Fliesen nicht erweitern, außerhalb der Bild-Fehler beim split-Bild in der Hälfte

Mein Programm soll, nehmen Sie ein Bild und teilen Sie es senkrecht in n Abschnitte, speichern Sie die Teile als einzelne png-Dateien. Es sollte in etwa so Aussehen für 2 Abschnitte

Warum bekomme ich die Fliesen nicht erweitern, außerhalb der Bild-Fehler beim split-Bild in der Hälfte

Ich habe Probleme jetzt, was ich bekommen hab ist die erste Hälfte von meinem Bild richtig übernommen, und dann bin ich immer die folgende Fehlermeldung, wenn er versucht, die Ernte in der zweiten Hälfte:
SystemError: tile cannot extend outside image

Das Bild, mit dem ich arbeite hat

  • Breite: 1180px
  • Höhe: 842px

Der Rechtecke berechnet es zu beschneiden ist:

  • (0.0, 0, 590.0, 842) - das funktioniert richtig
  • (590.0, 0, 590.0, 842) - diese stürzt das Programm

Meine Fragen: Warum ist diese sub Rechteck out of bounds und wie ich es beheben kann richtig Scheibe mein Bild in der Hälfte wie im Bild gezeigt?

from PIL import Image, ImageFilter


im = Image.open("image.png")
width, height = im.size
numberOfSplits = 2
splitDist = width / numberOfSplits #how many pixels each crop should be in width
print(width, height) #prints 1180, 842

for i in range(0, numberOfSplits):
    x = splitDist * i
    y = 0
    w = splitDist
    h = height

    print(x, y, w, h)
    #first run through prints 0.0, 0, 590.0, 842
    #second run through prints 590.0, 0, 590.0, 842 then crashes

    croppedImg = im.crop((x,y,w,h)) #crop the rectangle into my x,y,w,h
    croppedImg.save("images\\new-img" + str(i) + ".png") #save to file

InformationsquelleAutor Keatinge | 2016-04-08

Schreibe einen Kommentar