2015-07-31 18 views
11

İçe aktarılan Yastık kitaplığına sahip bir python dosyası var. Bir görüntüyü görüntüyü nasıl kapatabilirim? Görüntüyü düzenlemek için sadece görüntüyü göstermek ve kullanıcının onu kaydetmeyi veya silmeyi seçmesini sağlamak için Yastık kullanmıyorum.Yastık içinde açılmış bir resmi nasıl kapatırım?

with Image.open('test.png') as test_image: 
    do_things(test_image) 

Image.close() kullanımına bir örnek: Bir PIL nesnesi oluşturursanız

test = Image.open('test.png') 
test.close() 

cevap

25

yakın bir yöntem değildir.

from PIL import Image 

img=Image.open("image.jpg") 
dir(img) 

['_Image__transformer', '_PngImageFile__idat', '__doc__', '__getattr__', '__init__', '__module__', '__repr__', '_copy', '_dump', '_expand', '_makeself', '_new', '_open', 'category', 'convert', 'copy', 'crop', 'decoderconfig', 'decodermaxblock', 'draft', 'filename', 'filter', 'format', 'format_description', 'fp', 'frombytes', 'fromstring', 'getbands', 'getbbox', 'getcolors', 'getdata', 'getextrema', 'getim', 'getpalette', 'getpixel', 'getprojection', 'histogram', 'im', 'info', 'load', 'load_end', 'load_prepare', 'load_read', 'map', 'mode', 'offset', 'palette', 'paste', 'png', 'point', 'putalpha', 'putdata', 'putpalette', 'putpixel', 'quantize', 'readonly', 'resize', 'rotate', 'save', 'seek', 'show', 'size', 'split', 'tell', 'text', 'thumbnail', 'tile', 'tobitmap', 'tobytes', 'tostring', 'transform', 'transpose', 'verify'] 
+0

Her zaman ikinci seçeneği kullanırım. İçerik yöneticileri gerçekten çok güzel. – Brobin

+0

@Brobin Oh evet, bloklarla gitmek için yol vardır. Ve başka bir dili kullanmam gerektiğinde en çok özlediğim şeylerden biri. –

+0

"with" öğesini kullanarak bir "AttributeError: __exit__" PIL 1.1.7 ile hata alıyorum, hangi sürümü kullanıyorsunuz? – Chris

0

orada göreceksiniz Ayrıca bloğu olan bir de bunu yapabilir Image.close().

ile

+0

Yine de, [docs] 'a bir göz atın (https://pillow.readthedocs.org/en/latest/reference/Image.html#PIL.Image.Image.close). Nesnenin dizininde neden görünmediğinden emin değilim, ama kesinlikle var. –

+2

Yastığım (sürüm 2.3.0), yakın yöntemde de eksik görünüyor. –

+0

Onun sürümünü kontrol etmek için pkg_resources kullanıyorum: >>> pkg_resources.get_distribution ('Yastık'). Versiyon '2.3.0' –

İlgili konular