Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python: Dezoomify-apuva

Meitzi [10.01.2011 00:02:52]

#

Pythoni ei ole minulle ollenkaan tuttu, joten hieman tarvitsin apua. (eli jos nyt joku osaa rivien välistä lukea nii ei minuta tämä python tässävaiheessa kiinnosta vaan ratkaisu)

dezoomify.py
http://commons.wikimedia.org/wiki/Help:Zoomable_images/dezoomify.py

Yritän suorittaa komentoa
python.exe dezoomify.py -i http://www.aliasstudiot.fi/kap/ -o output.jpg

Saan tulokseksi:

Traceback (most recent call last):
  File "dezoomify.py", line 258, in <module>
    main()
  File "dezoomify.py", line 54, in main
    Dezoomify(opts)
  File "dezoomify.py", line 241, in __init__
    self.addTiles(imageDir)            # find, download and paste tiles into pla
ce
  File "dezoomify.py", line 207, in addTiles
    self.image.paste(tile, (self.tileSize*col, self.tileSize*row)) #paste into p
osition
  File "c:\Program Files (x86)\Python\lib\site-packages\PIL\Image.py", line 1088
, in paste
    im.load()
  File "c:\Program Files (x86)\Python\lib\site-packages\PIL\ImageFile.py", line
201, in load
    raise IOError("image file is truncated (%d bytes not processed)" % len(b))
IOError: image file is truncated (46 bytes not processed)

Ehkä joku jpg file hieman rikki ja tämä pitäisi osata ohittaa?

Jäipä näämä otsikosta kieli pois.. noh.

tsuriga [10.01.2011 02:10:21]

#

Wrappaa dezoomify.pyn addTiles-metodista kaksi viimeistä riviä seuraavasti:

try:
    tile = Image.open(cStringIO.StringIO(tileFile.read())) # constructs a StringIO holding the image
    self.image.paste(tile, (self.tileSize*col, self.tileSize*row)) #paste into position
except IOError:
    pass

Jos tarvitsee korjata JPEG-kuvaa, niin -d -vipu auttaa virheellisen kuvan löytämisessä ja itse kuvan korjaamiseen Internetin ihmemaailma ehdottaa Ontrackin EasyRecoveryä.

Meitzi [10.01.2011 17:02:26]

#

Kiitän.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta