Commit Graph

1570 Commits

Author SHA1 Message Date
wiredfool
17f799ed16 Merge pull request #2484 from hugovk/exif-resolution-as-int
Fix for file with DPI in EXIF but not metadata, and XResolution is an int rather than tuple
2017-04-19 12:10:44 +01:00
wiredfool
df616d2b16 Merge pull request #2471 from radarhere/crop
Return copy on Image crop if crop dimensions match the image
2017-04-19 11:46:07 +01:00
wiredfool
2ac4f79e8c 4.2.0.pre0 version bump 2017-04-19 03:02:45 -07:00
Hugo
8b06fa9a21 Fix for file with DPI in EXIF but not metadata, and XResolution is an int rather than tuple 2017-04-11 14:07:31 +03:00
wiredfool
38eff74004 4.1.0 version bump 2017-04-04 11:10:22 -07:00
wiredfool
0834e9491e Merge pull request #2330 from wiredfool/pr_2032
Close files after loading when possible.
2017-04-03 23:32:06 +01:00
Hugo
53df62647a DPI is a tuple (#2472)
* DPI is a tuple

* Some EXIF only contains an X resolution for DPI

* Refactor

* Test with no DPI in EXIF

* Handle EXIF with no DPI

* Created with: exiftool "-*resolution*"= photoshop-200dpi.jpg

* Test when not in EXIF, DPI==72,72

* Use X resolution for Y, default to 72,72 dpi

* Created with: exiftool -exif:ResolutionUnit=cm photoshop-200dpi.jpg

* Test for EXIF with dpcm instead of dpi

* Convert dpcm to dpi, and default to inches if unit unknown
2017-04-03 23:28:33 +01:00
wiredfool
06b61f4e5b close the mmap when closing the image #2194 2017-04-03 08:06:59 -07:00
wiredfool
86c1704646 add _close_exclusive_fp_after_load flag 2017-04-03 08:06:58 -07:00
Andrew Murray
4dd7b94338 Return copy on Image crop if crop dimensions match Image dimensions 2017-03-31 13:02:56 +11:00
wiredfool
977f319234 Merge pull request #2449 from hugovk/dpi-from-exif
If DPI isn't in JPEG header, fetch from EXIF
2017-03-29 21:24:46 +01:00
wiredfool
9e2653c155 Merge pull request #2455 from cgohlke/patch-1
Remove superfluous import of FixTk
2017-03-22 21:18:27 +00:00
Christoph Gohlke
c6dc1f2878 Fix import of tkinter/Tkinter
Do not try to import the `tkinter` module on Python 2.x. `tkinter` is part of the `tkinter3000` package (Widget Construction Kit for Tkinter).
2017-03-22 10:32:42 -07:00
Christoph Gohlke
140c4b54c0 Remove superfluous import of FixTk
The `_imaging` module does not link against libtcl/libtk.
`FixTk` is imported by `import Tkinter` if necessary.
The `FixTk` module is for Python 2.x on Windows only.
2017-03-22 10:15:29 -07:00
wiredfool
b69b70198f Closing only single frame TIFF images 2017-03-14 23:17:22 +00:00
Hugo
07a9620959 If DPI isn't in JPEG header, fetch from EXIF 2017-03-14 11:49:10 +02:00
homm
58484db509 close files after loading for some file types 2017-03-12 20:05:20 +00:00
homm
091d0c400c close fp if it was opened in ImageFile constructor 2017-03-12 20:05:20 +00:00
homm
88ec0bb52f close file in case of failures 2017-03-12 20:05:20 +00:00
wiredfool
c9f54c98a5 Merge pull request #1938 from wiredfool/python-decoder
Pure Python Decoders - fix for MSP decoding
2017-03-12 17:20:19 +00:00
wiredfool
31c1a651a3 fixed wording 2017-03-11 16:30:04 +00:00
wiredfool
40a94d4a42 Propagage ValueError out, rather than swallowing 2017-03-11 15:34:43 +00:00
wiredfool
38f43c1e5f review lint 2017-03-11 13:50:19 +00:00
wiredfool
c2cd5fe3d1 handles_eof was removed in 4.0 2017-03-11 13:50:19 +00:00
wiredfool
b668db33cd Updated versionadded to reflect 6-9 month slip [ci skip] 2017-03-11 13:50:19 +00:00
wiredfool
f13b335a60 Py2.7 compatibility 2017-03-11 13:50:19 +00:00
wiredfool
949932f45f Pure Python MSP Decoder 2017-03-11 13:50:19 +00:00
hugovk
e44773c76c Test with bad checksum 2017-03-11 13:50:19 +00:00
wiredfool
1c0d1c547e PyDecoder documentation 2017-03-11 13:50:19 +00:00
wiredfool
25bc5c76ab Pure python decoder registry 2017-03-11 13:50:19 +00:00
wiredfool
1428e4140a Test for identical handling of getheader/getdata 2017-03-08 01:35:15 -08:00
wiredfool
676d0c3b3b Can't use objects in default args 2017-03-08 01:35:15 -08:00
wiredfool
51b46e00c2 Refactor out passed in palette handling, add ImagePalette as an option, document palette format 2017-03-08 01:35:15 -08:00
wiredfool
f6b22bf0ab moved normalise_ functions together 2017-03-08 01:35:15 -08:00
wiredfool
abb7b7342e Added function docstring 2017-03-08 01:35:15 -08:00
wiredfool
770c423181 Regroup methods, add docstring comments 2017-03-08 01:35:15 -08:00
wiredfool
46287eb62a Renamed _get_local_header to _write_local_header 2017-03-08 01:35:15 -08:00
Andrew Murray
ab7e07c54d Added comment that getdata is legacy 2017-03-08 01:35:15 -08:00
wiredfool
aea2a4ca8d legacy getheader mutates the image 2017-03-08 01:35:14 -08:00
wiredfool
872bce552f Docstring Comments on methods 2017-03-08 01:35:14 -08:00
wiredfool
f5e836b442 removed extra param from _get_global_header 2017-03-08 01:35:14 -08:00
wiredfool
321c6165c9 removed extra params from _get_palette_bytes 2017-03-08 01:35:14 -08:00
wiredfool
b315b6ecf3 Don't requantize 'P' images 2017-03-08 01:35:14 -08:00
wiredfool
26e145c8a3 Refactor _convert_mode -> _normalize_mode 2017-03-08 01:34:31 -08:00
wiredfool
b9618b3ce7 Encoderinfo fix 2017-03-08 19:41:18 +11:00
wiredfool
cee397ab00 Refactor get_palette to do one thing, and not mutate the image in place 2017-03-08 19:41:18 +11:00
wiredfool
1e9afb3ecb Refactor out the palette remapping to Image.Image 2017-03-08 19:41:18 +11:00
wiredfool
24285fdc28 Remove support for PIL plus external encoder 2017-03-08 19:41:18 +11:00
Andrew Murray
87a14ce6de Created _write_single_frame and _write_multiple_frames from _save 2017-03-08 19:41:18 +11:00
Andrew Murray
d45f1d835b Removed second return value from _get_palette_bytes 2017-03-08 19:41:18 +11:00