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
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