mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-02-04 21:50:54 +03:00
Combined duplicate code in ImageTk
This commit is contained in:
parent
72766b8f4e
commit
d82935a2d9
|
@ -33,6 +33,7 @@ except ImportError:
|
||||||
del Tkinter
|
del Tkinter
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
@ -52,6 +53,15 @@ def _pilbitmap_check():
|
||||||
_pilbitmap_ok = 0
|
_pilbitmap_ok = 0
|
||||||
return _pilbitmap_ok
|
return _pilbitmap_ok
|
||||||
|
|
||||||
|
def _get_image_from_kw(kw):
|
||||||
|
source = None
|
||||||
|
if "file" in kw:
|
||||||
|
source = kw.pop("file")
|
||||||
|
elif "data" in kw:
|
||||||
|
source = BytesIO(kw.pop("data"))
|
||||||
|
if source:
|
||||||
|
return Image.open(source)
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
# PhotoImage
|
# PhotoImage
|
||||||
|
@ -80,13 +90,7 @@ class PhotoImage(object):
|
||||||
|
|
||||||
# Tk compatibility: file or data
|
# Tk compatibility: file or data
|
||||||
if image is None:
|
if image is None:
|
||||||
if "file" in kw:
|
image = _get_image_from_kw(kw)
|
||||||
image = Image.open(kw["file"])
|
|
||||||
del kw["file"]
|
|
||||||
elif "data" in kw:
|
|
||||||
from io import BytesIO
|
|
||||||
image = Image.open(BytesIO(kw["data"]))
|
|
||||||
del kw["data"]
|
|
||||||
|
|
||||||
if hasattr(image, "mode") and hasattr(image, "size"):
|
if hasattr(image, "mode") and hasattr(image, "size"):
|
||||||
# got an image instead of a mode
|
# got an image instead of a mode
|
||||||
|
@ -209,13 +213,7 @@ class BitmapImage(object):
|
||||||
|
|
||||||
# Tk compatibility: file or data
|
# Tk compatibility: file or data
|
||||||
if image is None:
|
if image is None:
|
||||||
if "file" in kw:
|
image = _get_image_from_kw(kw)
|
||||||
image = Image.open(kw["file"])
|
|
||||||
del kw["file"]
|
|
||||||
elif "data" in kw:
|
|
||||||
from io import BytesIO
|
|
||||||
image = Image.open(BytesIO(kw["data"]))
|
|
||||||
del kw["data"]
|
|
||||||
|
|
||||||
self.__mode = image.mode
|
self.__mode = image.mode
|
||||||
self.__size = image.size
|
self.__size = image.size
|
||||||
|
|
Loading…
Reference in New Issue
Block a user