Commit Graph

1580 Commits

Author SHA1 Message Date
Jon Dufresne
d244fbb299 Remove unnecessary calls to dict.keys()
iter(dict) is equivalent to iter(dict.keys()), so simply act on the dict
instead of adding the extra call.

Inspired by Lennart Regebro's PyCon 2017 presentation "Prehistoric
Patterns in Python". Available at:

https://www.youtube.com/watch?v=V5-JH23Vk0I
2017-05-28 09:55:38 -07:00
wiredfool
b076b55623 Merge pull request #2530 from hugovk/compress-level
Fix Image.show compress_level typo
2017-05-27 14:38:32 +01:00
Hugo
bb7596d8b6 Fix option typo 2017-05-14 12:14:29 +03:00
Joshua Blum
e763c2281f Update ImageFile.py 2017-05-13 12:07:16 -04:00
wiredfool
86bde427c3 refactor out options 2017-05-13 14:22:18 +01:00
wiredfool
dd5bfec11c save_ppm doesn't take kwargs 2017-05-13 14:22:18 +01:00
Hin-Tak Leung
9f8aeb5d8e put compress_level=1 inside Image._dump()
Better alternative to setting compress_level=1 than the secret handshake
in the last attempt.

The last in a series of changes to fix
https://github.com/python-pillow/Pillow/issues/2508
2017-05-13 14:22:18 +01:00
Hin-Tak Leung
74da5878c5 Do not down-convert if image is RGBA when showing.
The down-convert code would convert all RGB-based modes
(P RGB RGBX RGBA CMYK YCbCr LAB HSV) to RGB; but png can handle it!
2017-05-13 14:22:18 +01:00
Hin-Tak Leung
a2cb304f62 use PNG as intermediate format for viewing 2017-05-13 14:22:18 +01:00
Andrew Murray
37b293f593 Flake8 fixes 2017-04-20 21:14:23 +10:00
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