mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-04-28 04:53:41 +03:00
Read EXIF data tEXt chunk into info as bytes instead of string
This commit is contained in:
parent
48c7d84bf7
commit
5da1a8adcf
BIN
Tests/images/exif_text.png
Normal file
BIN
Tests/images/exif_text.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 174 KiB |
|
@ -606,6 +606,11 @@ class TestFilePng:
|
||||||
exif = im.copy().getexif()
|
exif = im.copy().getexif()
|
||||||
assert exif[274] == 1
|
assert exif[274] == 1
|
||||||
|
|
||||||
|
# With a tEXt chunk
|
||||||
|
with Image.open("Tests/images/exif_text.png") as im:
|
||||||
|
exif = im._getexif()
|
||||||
|
assert exif[274] == 1
|
||||||
|
|
||||||
# With XMP tags
|
# With XMP tags
|
||||||
with Image.open("Tests/images/xmp_tags_orientation.png") as im:
|
with Image.open("Tests/images/xmp_tags_orientation.png") as im:
|
||||||
exif = im.getexif()
|
exif = im.getexif()
|
||||||
|
|
|
@ -509,10 +509,11 @@ class PngStream(ChunkStream):
|
||||||
v = b""
|
v = b""
|
||||||
if k:
|
if k:
|
||||||
k = k.decode("latin-1", "strict")
|
k = k.decode("latin-1", "strict")
|
||||||
v = v.decode("latin-1", "replace")
|
v_str = v.decode("latin-1", "replace")
|
||||||
|
|
||||||
self.im_info[k] = self.im_text[k] = v
|
self.im_info[k] = v if k == "exif" else v_str
|
||||||
self.check_text_memory(len(v))
|
self.im_text[k] = v_str
|
||||||
|
self.check_text_memory(len(v_str))
|
||||||
|
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user