Antony Lee
d5b46dce96
Fix MPO support, and Python2.6 support.
2015-09-11 22:34:50 +01:00
Antony Lee
56a3f0f2ab
Fix EXIF support.
2015-09-11 22:34:50 +01:00
Antony Lee
974bcc074b
Major rewrite of TIFF ImageFileDirectory.
...
Do not represent scalar tags as 1-element tuples. Keep tag
type and count information in TiffTags.TAGS. Normalize data in
ImageFileDirectory.__setitem__: wrap and unwrap tuples as needed,
convert rationals to floats. (To ensure consistency, make the "tags"
attribute private.) Interpret byte data as a series of integers rather
than a bytearray (which should only map to the "undefined" type). On
Python3, if a str is assigned to an "undefined" tag, encode it as ASCII.
Note that a large number of tags have been removed from TiffTags.TAGS
because I do not have time to figure out the type and count of each of
them. They should be restored before this gets merged in.
This obviously breaks backwards compatibility in a lot of ways...
2015-09-11 22:34:50 +01:00
Antony Lee
aba7a34036
Fix setting of TIFF ExtraSamples tag.
...
- force cast ExtraSamples to a list.
- fix calls to ImagingLibTiffSetField to include array length.
2015-09-11 22:26:54 +01:00
Andrew Murray
105e963505
Flake8 fixes
2015-09-11 19:28:19 +10:00
Hugo van Kemenade
991829b75a
Merge pull request #1414 from wiredfool/pr1360
...
Catch TypeError in _getexif
2015-09-10 19:11:32 +03:00
Hugo van Kemenade
f631ddb1ef
Merge pull request #1416 from wiredfool/pr1309
...
Fix for UnicodeDecodeError in TiffImagePlugin
2015-09-10 19:07:48 +03:00
Hugo van Kemenade
254201cac6
Merge pull request #1415 from wiredfool/dup_code
...
Dedup code in image.open
2015-09-10 19:06:35 +03:00
Bogdan Kubala
42b5a85cb4
Fix for UnicodeDecodeError in TiffImagePlugin
...
Fix for UnicodeDecodeError: ascii codec cannot decode byte while saving a TIFF image
Problem occured while saving TIFF images that contain non-ascii characters in metadata
Manually merged with master by wiredfool
2015-09-10 07:57:47 -07:00
wiredfool
60f44f2dce
Merge pull request #1337 from homm/extraneous-jpeg-bytes
...
Skip any number extraneous chars at the end of JPEG chunks
2015-09-10 15:39:55 +01:00
wiredfool
9cbbab2da5
Dedup code in image.open
2015-09-10 07:17:40 -07:00
wiredfool
587698051f
comments for future understanding
2015-09-10 04:36:07 -07:00
wiredfool
c614846fb7
Extend the fix to the other exif seek
2015-09-10 04:19:25 -07:00
wiredfool
1b40b6fd32
Merge pull request #1366 from uploadcare/fix-truncated-regression-from-master
...
Pillow fails to load truncated images with LOAD_TRUNCATED_IMAGES
2015-09-10 11:59:58 +01:00
wiredfool
5473766490
Merge pull request #1381 from bwrsandman/patch-1
...
ImagePalette: Add param documentation
2015-09-09 16:52:33 +01:00
homm
0b19a86087
skip any number extraneous chars at the end of chunks
2015-09-08 18:05:37 +03:00
homm
1d236f0262
unused var
2015-09-08 17:43:12 +03:00
homm
b078ad4599
raise IOError in all cases when image can't be loaded
2015-09-08 17:43:12 +03:00
homm
b8b3cdc146
fix truncated images loading
2015-09-08 17:43:11 +03:00
Andrew Murray
d21430234e
Improved consistency of checks for flush
2015-09-02 23:48:22 +10:00
Andrew Murray
a0d38a3884
Fixed infinite loop on truncated file
2015-08-29 02:05:08 +10:00
Hugo van Kemenade
ce19b0dfca
Merge pull request #1400 from radarhere/imagemorph
...
Check that images are L mode in ImageMorph methods
2015-08-28 17:24:53 +03:00
Andrew Murray
9026b81439
Check that images are L mode in ImageMorph methods
2015-08-28 22:54:17 +10:00
Dmitry Yantsen
a2b6b661d9
Added check for flush method existense for file-like object in tiffplugin setup
2015-08-28 15:00:06 +05:00
Andrew Murray
95fa2cdf08
Health fix
2015-08-28 18:56:48 +10:00
Andrew Murray
c6b13d294f
Flake8 fixes
2015-08-25 22:27:18 +10:00
Andrew Murray
1b8d12b048
If only one frame, do not use image from sequence
2015-08-24 23:51:02 +10:00
Andrew Murray
e88e90b8ed
Minor improvement, one less copy
2015-08-24 23:23:52 +10:00
Andrew Murray
88fca0f555
Fixed palette issue when saving
2015-08-24 23:23:07 +10:00
Andrew Murray
b8ff91ab3b
Corrected version number when saving GIFs
2015-08-21 22:10:13 +10:00
Andrew Murray
f64bc891d4
Changed GifImagePlugin to include use image info params
2015-08-21 22:09:05 +10:00
Sandy
93a8e43ddf
ImagePalette: Add param documentation
2015-08-20 15:25:08 -04:00
Hugo van Kemenade
d66f9eb7ea
Merge pull request #1373 from radarhere/rotate
...
Fix fast rotate operations
2015-08-09 11:26:51 +03:00
Andrew Murray
e271471f8e
Flake8 fix
2015-08-06 00:24:08 +10:00
Andrew Murray
f6d11a2803
Only use fast rotate operations if the expand flag is in use or the image is square
2015-08-06 00:23:14 +10:00
Andrew Murray
7775ff3ac7
Updated docstrings
2015-08-05 22:32:15 +10:00
Andrew Murray
457d39832d
Added support for pathlib Path objects to open and save
2015-08-05 20:54:33 +10:00
Hugo van Kemenade
8faf299ca0
Merge pull request #1333 from radarhere/format
...
Changed register calls to use format property
2015-08-04 15:37:09 +03:00
Hugo van Kemenade
1368d972e7
Merge pull request #1367 from radarhere/imagegrab
...
Added support for ImageGrab.grab to OS X
2015-08-01 10:54:31 +03:00
Andrew Murray
7c0554c74e
Added support for ImageGrab.grab to OS X
2015-08-01 17:44:13 +10:00
Andrew Murray
f5df0b86fc
Fixed PSDraw stdout Python 3 compatibility
2015-07-31 20:59:59 +10:00
Andrew Murray
87d00fe441
Catch TypeError in _getexif file seek
2015-07-29 20:01:23 +10:00
Andrew Murray
2a3a34d2ff
Treat MPO with unknown header as base JPEG file
2015-07-19 22:56:04 +10:00
Andrew Murray
94ed100bb2
Removed ImageDraw methods deprecated in PIL 1.1.15
2015-07-13 17:41:26 +10:00
Ömer Kala
1b8b2dbf33
Update Image.py
2015-07-12 17:42:55 +03:00
Andrew Murray
fa73879d19
Changed register calls to use format property
2015-07-04 23:29:58 +10:00
Alex Clark
67d1541c6f
Merge pull request #1207 from anntzer/logger
...
Use logging instead of print.
2015-07-02 05:22:07 -04:00
Alex Clark
93eb15bec7
Commence 3.0.0.dev0
2015-07-02 05:20:15 -04:00
Alex Clark
80672b61e8
This is 2.9.0
...
Fixes #1174
2015-07-01 14:33:56 -04:00
Alex Clark
0d9d288a60
Merge pull request #1321 from radarhere/handler
...
Rearranged format handler fetching
2015-07-01 14:31:22 -04:00
Andrew Murray
abe25b7191
Rearranged format handler fetching
2015-07-01 09:19:28 +10:00
Andrew Murray
4fbea3e553
Added multiframe GIF test
2015-07-01 09:18:05 +10:00
Alex Clark
445a8c06fc
Bump
2015-06-30 08:04:35 -04:00
Alex Clark
be1df0f33c
Merge pull request #1320 from radarhere/gifmaker
...
Merged gifmaker into GifImagePlugin
2015-06-30 08:00:39 -04:00
Alex Clark
c489150602
Merge pull request #1319 from radarhere/is_animated
...
Added is_animated
2015-06-30 07:59:56 -04:00
Alex Clark
d29c3937ee
Merge pull request #1302 from hugovk/1301_integer_expected
...
DPI should be tuple of ints, not floats
2015-06-30 07:57:28 -04:00
Andrew Murray
2c4fe7281f
Merged gifmaker into GifImagePlugin
2015-06-30 18:02:48 +10:00
Andrew Murray
d20eef450b
Added is_animated
2015-06-30 13:25:00 +10:00
Alex Clark
75be4af068
Merge pull request #1282 from radarhere/eoferror
...
Frame position when seeking past the end of file
2015-06-29 20:16:15 -04:00
Antony Lee
983c4602b5
Also log plugin opening failures.
...
This allows obtaining tracebacks of failures by plugins to open files by
setting the log-level to DEBUG, rather than by having to uncomment the
"traceback.print_exc" lines in Image.open.
2015-06-29 12:39:50 -07:00
Antony Lee
4e754e9c55
Use logging instead of print.
...
cf. #1191 .
Only TiffImagePlugin and OLEFileIO still rely on (their own) DEBUG flag.
I left TiffImagePlugin as it is because I hope #1059 gets merged in
first, and OLEFileIO because it uses its own logic.
Untested, as usual.
2015-06-29 12:39:50 -07:00
Alex Clark
96944e2dd6
Bump
2015-06-29 08:57:55 -04:00
Andrew Murray
46fad0fd63
Fixed typo
2015-06-28 12:03:11 +10:00
Andrew Murray
afa4cadb23
Added width and height properties
2015-06-26 17:20:17 +10:00
hugovk
0564979cf9
Formatting
2015-06-25 23:19:07 +03:00
hugovk
3e6e50476b
DPI should be tuple of ints, not floats
2015-06-25 23:17:21 +03:00
wiredfool
cea766e980
Merge pull request #1217 from radarhere/qt-convert
...
Add functions to convert: Image <-> QImage; Image <-> QPixmap
2015-06-22 11:32:55 -07:00
Andrew Murray
b553ad7a70
Further fixes
2015-06-21 16:33:55 +10:00
Andrew Murray
c644bf9455
Do not import ImageQt until it is requested
2015-06-19 15:55:35 +10:00
Andrew Murray
33d51d4255
Flake8 and health fixes
2015-06-19 15:36:23 +10:00
Andrew Murray
43e2c92802
Removed unused imports
2015-06-19 15:35:56 +10:00
Andrew Murray
1111e9fb35
Fixed frame position when seeking past the end of file
2015-06-19 00:49:18 +10:00
Andrew Murray
77169b2fdb
Moved multiline split character to common functions
2015-06-18 13:21:39 +10:00
Alexander Schier
d626679c23
added support for multiline text drawing
2015-06-18 13:07:00 +10:00
Andrew Murray
fa1c4bffaf
Do not attempt to subclass QImage if Qt is not installed
2015-06-18 11:21:14 +10:00
Andrew Murray
b318595666
Re-added ImageQt class
2015-06-18 11:21:14 +10:00
Roman Inflianskas
2d706d74dc
add functions to convert: Image <-> QImage; Image <-> QPixmap (see #897 )
2015-06-18 11:21:14 +10:00
Andrew Murray
4c02ae4061
Fixed _binary handling in _accept methods
2015-06-18 10:12:12 +10:00
Hugo van Kemenade
c52616464a
Merge pull request #1277 from coldmind/bmp_mime
...
Register MIME type for BMP
2015-06-17 12:46:30 +03:00
wiredfool
d8c1add604
Merge pull request #1218 from radarhere/qt-compatibility
...
Adjusted ImageQt use of unicode() for 2/3 compatibility
2015-06-16 11:58:28 -07:00
wiredfool
9abedaab1d
Merge pull request #1248 from radarhere/health
...
Further health fixes
2015-06-16 11:54:03 -07:00
wiredfool
e567267784
Merge pull request #1230 from hugovk/1229_xbm
...
Identify XBM file created with filename including underscore
2015-06-16 11:51:35 -07:00
wiredfool
30631902d6
Merge pull request #1231 from radarhere/image_palette
...
Copy image when saving in GifImagePlugin
2015-06-16 11:49:41 -07:00
Andriy Sokolovskiy
fe18b039ca
Register MIME type for BMP
2015-06-16 20:33:27 +03:00
Andrew Murray
ecb1cef99b
Added background color index saving to GifImagePlugin
2015-06-11 11:10:05 +10:00
Andrew Murray
42d1aabcc4
Removed interlace flag from GifImagePlugin getdata
2015-06-09 20:21:00 +10:00
Andrew Murray
46f439604c
Added tests
2015-06-08 01:02:43 +10:00
Andrew Murray
0c51b7967e
Fixed seek bug in FliImagePlugin
2015-06-08 01:02:35 +10:00
Antony Lee
3ad70423ad
Fix typo in FliImagePlugin (seek -> _seek).
2015-06-08 00:40:23 +10:00
Antony Lee
51f3560dc4
Restore negative seeks for TIFF.
2015-06-08 00:40:23 +10:00
Antony Lee
1b80fe5507
Provide n_frames attribute to multi-frame formats.
...
cf #1190 , #1192 . Tests missing.
2015-06-08 00:40:23 +10:00
Andrew Murray
ed2cca1e71
Fixed Tiff handling of bad EXIF data
2015-06-07 00:09:54 +10:00
Hugo
b816c048ad
Merge pull request #1172 from radarhere/gif
...
Added duration and loop set to GifImagePlugin
2015-06-04 13:07:58 +03:00
Andrew Murray
77e2878734
Fixed redefining built-ins
2015-06-02 00:09:18 +10:00
Andrew Murray
26bcc443d1
Specified exception types
2015-05-30 09:18:27 +10:00
Hugo
022cebd723
Merge pull request #1232 from wiredfool/ico-bigendian
...
Ico files are little endian, ref #1204
2015-05-29 18:28:59 +03:00
Hugo
4aba749c3c
Merge pull request #1245 from radarhere/patch-1
...
Fixed various typos
2015-05-29 08:28:39 +03:00
Hugo
af6bf89096
Merge pull request #1226 from radarhere/olefileio_upgrade
...
OleFileIO Upgrade
2015-05-29 08:09:42 +03:00
Andrew Murray
a996033079
Fixed various typos
2015-05-29 14:59:54 +10:00
Andrew Murray
a662a94316
Updated i16 and i32 to be in sync with _binary
2015-05-28 23:11:51 +10:00
Andrew Murray
cfedc8093c
Fixed typo
2015-05-28 22:34:45 +10:00
Andrew Murray
29a3de6ccc
Doc cleanup from wiredfool
2015-05-28 22:34:38 +10:00
Andrew Murray
1b98b76bcf
Flake8 fixes
2015-05-28 22:34:23 +10:00
Andrew Murray
1208fe89cd
Renamed _raise_defect to avoid protected member warnings
2015-05-28 22:15:53 +10:00
Andrew Murray
f55f2d13cb
Various health fixes
2015-05-28 22:15:52 +10:00
Andrew Murray
b213f63c59
Removed pre-Python 2.3 workaround
2015-05-28 22:15:52 +10:00
Andrew Murray
0999ec95a0
Fixed typo in ImageEnhance.py
2015-05-28 17:20:33 +10:00
Hugo
b350a2ac95
Merge pull request #1239 from juztin/master
...
Setting transparency value to 0 when the tRNS contains only null byte(s)
2015-05-27 22:37:29 +03:00
Hugo
06c8d715f2
Merge pull request #1233 from radarhere/features
...
Separated out feature checking from selftest
2015-05-27 14:39:00 +03:00
Hugo
394b245a39
Merge pull request #1240 from radarhere/future
...
Correct future print imports
2015-05-27 14:37:38 +03:00
Andrew Murray
3c7e37d2d7
Replaced old-style classes
2015-05-27 00:07:21 +10:00
Andrew Murray
4e2de9d9ed
Added missing future print imports and removed unnecessary imports
2015-05-23 20:28:41 +10:00
Justin Wilson
e317a729f3
Setting transparency value to 0 when the tRNS contains only null byte(s)
2015-05-22 16:37:50 -06:00
Andrew Murray
98fa49ea37
Changed module and codec names
2015-05-14 20:57:01 +10:00
Andrew Murray
799e8312cb
Separated out feature checking from selftest
2015-05-14 19:43:28 +10:00
Andrew Murray
b1e8a68df8
When copying Image, copy ImagePalette as well
2015-05-14 09:57:56 +10:00
Eric Soroos
93461e6faa
Ico files are little endian, ref #1204
2015-05-13 03:05:45 -07:00
Andrew Murray
ca89d431ba
To avoid modifications, copy image when saving in GifImagePlugin
2015-05-13 16:39:25 +10:00
hugovk
98a8085d6c
Header width/height may have multiple underscores: file_name_width
2015-05-12 12:49:43 +03:00
Andrew Murray
1dd3bef615
Upgraded OleFileIO to 0.42b
2015-05-10 23:55:33 +10:00
Andrew Murray
dbd3415709
Removed pre-Python 2.3 workaround
2015-05-08 21:37:05 +10:00
Andrew Murray
9e00c77884
Fixed variable name in JpegImagePlugin
2015-05-08 14:28:49 +10:00
Andrew Murray
3d52e797f8
Adjusted ImageQt use of unicode() for 2/3 compatibility
2015-05-07 21:47:08 +10:00
Hugo
f21b45c976
Merge pull request #1184 from darkfeline/add-doc
...
Clarify docstring about mask values [ci skip]
2015-05-05 19:29:04 +03:00
Andrew Murray
ee34d6843b
Further health fixes
2015-04-24 18:24:52 +10:00
Andrew Murray
7f414057c9
Fixed redefinition of built-in
2015-04-24 16:02:39 +10:00
Andrew Murray
f2145baedb
Fixed unused imports in MicImagePlugin
2015-04-24 16:02:39 +10:00
Andrew Murray
e8679dff66
Fixed indentation in OleFileIO
2015-04-24 16:02:39 +10:00
Andrew Murray
540a225ea0
Removed unnecessary pass lines and commented debugging lines
2015-04-24 16:02:38 +10:00
Andrew Murray
8193a07305
Removed unnecessary line from ImageOps
2015-04-24 16:02:38 +10:00
Andrew Murray
9794aafc37
Removed or commented unused variables
2015-04-24 16:02:38 +10:00
Andrew Murray
e22e4239e5
Removed unused imports
2015-04-24 16:01:47 +10:00
Andrew Murray
ebc6996ba5
Changed list comprehension variable name to avoid redefinition
2015-04-24 16:00:08 +10:00
Andrew Murray
d1c182cadc
Various Flake8 fixes
2015-04-24 09:26:52 +10:00
Andrew Murray
f028928b5a
Rearranged used_palette_colors to fix get_local_header
2015-04-24 00:44:27 +10:00
Andrew Murray
aa1368f551
Flake8 fixes
2015-04-23 23:41:42 +10:00
hugovk
63f6e94be4
Flake8 after PR #1185
2015-04-23 13:25:45 +03:00
Hugo
5302acae37
Merge pull request #1185 from radarhere/icns
...
Added icns save for OS X
2015-04-23 10:47:58 +03:00
Andrew Murray
1bcda962d2
Updated IcnsImagePlugin documentation
2015-04-23 17:04:03 +10:00
Karim Bahgat
740ab40c6d
Keep user-specified ordering of icon sizes
...
Some consumers of icon files such as py2exe care about the order that icon sizes are added, so the user should be fully in charge of this, instead of force sorting them.
2015-04-14 20:17:57 +02:00
Hugo
b7bf299dad
Merge pull request #1113 from bpedersen2/master
...
Tiff: allow writing floating point tag values
2015-04-14 11:50:07 +03:00
Andrew Murray
689f28aae7
Added icns save
2015-04-12 12:58:46 +10:00
Allen Li
e8107e3bbb
Remove wrong docstring about RGBA paste [ci skip]
...
Pasting RGBA images does preserve the alpha channel if the current image
has an alpha channel.
2015-04-10 23:25:15 -04:00
Allen Li
c6d410ff3b
Correct description of alpha-composite [ci skip]
2015-04-10 23:24:30 -04:00
Allen Li
7674694185
Correct description of paste() behavior [ci skip]
2015-04-10 23:23:26 -04:00
Allen Li
bb01e845ea
Clarify docstring about mask values [ci skip]
...
The behavior of paste() with regard to intermediate mask values was
unclear, so this commit clarifies how it works.
2015-04-08 16:03:09 -04:00
Andrew Murray
a5917b3fa3
Added GifImagePlugin tests
2015-04-04 11:45:30 +11:00
Andrew Murray
ecebedba7f
Added loop set to GifImagePlugin
2015-04-04 10:33:35 +11:00
Andrew Murray
e36e7dd7a2
Added duration set to GifImagePlugin
2015-04-04 10:33:35 +11:00
Benoit Pierre
dcf399b9a0
pcd: minor cleanup; remove draft method
...
It's not supported, and the implementation does nothing.
2015-04-02 22:49:15 +02:00
Alex Clark
5cfc34b287
Begin 2.9.0 development with 2.9.0.dev0
...
Use PEP440 syntax to identify development branch and keep pyroma happy: https://www.python.org/dev/peps/pep-0440/#developmental-releases .
2015-04-02 14:53:49 -04:00
Alex Clark
3f09b8f171
Prep 2.8.1
2015-04-02 10:59:03 -04:00
hugovk
66e86f325f
Catch struct.error on invalid JPEG ( #1163 )
2015-04-02 08:29:18 +03:00
Alex Clark
071df8d33d
Some Flake 8 fixes
2015-04-01 15:38:18 -04:00
Alex Clark
ea65087a20
Merge pull request #1125 from artscoop/patch-1
...
Fix 32-bit BMP loading (RGBA or RGBX)
2015-04-01 15:23:32 -04:00
hugovk
2879819ce7
Style/health fixes
2015-04-01 16:47:01 +03:00
Hugo
4308872809
Merge pull request #1131 from mixcloud/gd-unbound-local-variable
...
Fix UnboundLocalError in ImageFile
2015-04-01 14:16:36 +03:00
Alex Clark
b9fb9449fb
Merge pull request #1160 from radarhere/health
...
Further health fixes
2015-04-01 06:06:47 -04:00
Alex Clark
c91768f7bf
Merge pull request #1117 from radarhere/master
...
Allow truetype() to search for extensions other than .ttf
2015-04-01 06:01:19 -04:00
George Davaris
68663ad352
Define t variable in a more appropriate place
2015-04-01 10:48:28 +01:00
Andrew Murray
bd3f036a56
Fixed many style problems in OleFileIO resulting from indentation
2015-04-01 17:48:26 +11:00
Andrew Murray
2834b78982
Removed or commented unused variables from OleFileIO
2015-04-01 17:22:44 +11:00
Andrew Murray
b75ee4c5b6
Added tests for font paths without extensions and for preferring ttf extensions
2015-04-01 15:26:00 +11:00
Andrew Murray
68d9860921
Changed list comprehension variable name to avoid redefinition
2015-04-01 12:45:08 +11:00
Andrew Murray
1199665033
Removed duplicate import from OleFileIO
2015-04-01 12:45:08 +11:00
Andrew Murray
1f5aeea463
Fixed incorrect import in FpxImagePlugin
2015-04-01 12:45:08 +11:00
Alex Clark
0925c4adbb
Merge pull request #1152 from hugovk/1104
...
Fix: Cannot identify EPS images
2015-03-31 21:12:55 -04:00
Andrew Murray
440022e59f
Added missing import in FpxImagePlugin
2015-04-01 11:21:15 +11:00
Andrew Murray
d88a7b778f
Added missing self argument in PyAccess
2015-04-01 09:36:24 +11:00
Andrew Murray
75a760e5d6
Fixed unused imports and removed or commented unused variables from FpximagePlugin
2015-04-01 09:35:45 +11:00
Alex Clark
aaa26f316a
Merge pull request #1151 from mfitzp/open-http-image
...
Add support for HTTP response objects to Image.open()
2015-03-28 07:21:15 -04:00
Alex Clark
860a1dedf1
Prep 2.8.0
...
No ci skip here because let's see CI run w/new version numbers. I'm starting to think (again) this bump should happen immediately after the release instead of right before the next? But I know @wiredfool had some objection to this at some point. As a compromise, maybe we could change to 2.9.0dev immediately following the release of 2.8.0.
2015-03-27 07:02:02 -04:00
Martin Fitzpatrick
735d342608
Add support for HTTP response objects to Image.open()
...
HTTP response objects returned from `urllib2.urlopen(url)` or
`requests.get(url, stream=True).raw` are 'file-like' but do not
support `.seek()` operations. As a result PIL is unable to
open them as images, requiring a wrap in `cStringIO` or `BytesIO`.
This commit adds this functionality to `Image.open()` by way of
an `.seek(0)` check and catch on exception
`AttributeError` or `io.UnsupportedOperation`. If this is caught
we attempt to wrap the object using `io.BytesIO` (which will
only work on buffer-file-like objects).
This allows opening of files using both `urllib2` and `requests`, e.g.
Image.open(urllib2.urlopen(url))
Image.open(requests.get(url, stream=True).raw)
2015-03-26 13:25:26 +01:00
hugovk
b885c04388
EPS parser: don't index blank lines
2015-03-26 14:06:54 +02:00
Andrew Murray
3e9e95b00a
Changed truetype() to prefer .ttf extensions
2015-03-21 21:13:15 +11:00
Andrew Murray
84ec2af495
Allow truetype() to search for extensions other than .ttf
2015-03-21 21:13:15 +11:00
hugovk
b17384cfca
Tabs to spaces and other flake8 fixes
2015-03-21 10:32:26 +02:00
Hugo
cabbc5d599
Merge pull request #1123 from radarhere/font_variant
...
Added copy method font_variant() and accessible properties to truetype()
2015-03-21 10:15:57 +02:00
George Davaris
5a49375d4f
Fix UnboundLocalError in ImageFile
2015-03-11 15:37:02 +00:00
artscoop
80d6b29b77
Fix bug with bitmasks on a 1x1 RGBA file
...
Does not change testing on other files, but fixes a case which previously made PIL collapse.
The Bitmap was a 1x1 RGBA and provoked an exception in PIL, but every Image viewer can load it.
Fixed code with comparison of header size, compression type and loading type of masks and fixed it.
2015-03-10 02:08:23 +01:00
Andrew Murray
fb3fe4b877
Added documentation for font_variant() [ci skip]
2015-03-07 18:38:17 +11:00
hugovk
0b79c6e24a
Remove unreachable code (if 0)
2015-03-05 21:07:16 +02:00
artscoop
8c003e9b3f
And finally ?
...
Error happening in Python 3.x with P images:
in original code, palette data was created from a list of bytestrings. Changed to a full bytestring.
- `b"".join(list of bytestrings)` works in python 2.7 and 3.x
- `b"".join(bytestring)` works in python 2.7 but fails in python 3.x
No need to `join` anymore. Works in 3.x
2015-03-05 12:17:52 +01:00
artscoop
310684521a
Update BmpImagePlugin.py
...
Fails on Python 3, tried some fixes before going the virtualenv3 route
2015-03-05 11:32:03 +01:00
artscoop
613d22fc75
Removed debug print
...
Again.
2015-03-05 10:44:54 +01:00
artscoop
9e3af5a161
Fix .cur 32/rgba, offsets etc.
...
Various fixes on code broken or not passing tests
2015-03-05 10:40:10 +01:00
artscoop
d7a78f3813
Fixing .cur special header offset
...
use offset provided
2015-03-05 09:02:09 +01:00
artscoop
82aa9011c9
Restored original error messages
...
I suspect the tests to check against an exact string when expecting an error
2015-03-05 08:47:34 +01:00
artscoop
c8fddb19f5
Update BmpImagePlugin.py
...
Getting bonkers but I need to know
2015-03-05 08:34:01 +01:00
artscoop
934651427d
Use 1 and not P for basic 1bpp BMP
...
Readapted some original code.
2015-03-05 08:19:14 +01:00
artscoop
56439b728f
Test with original code
...
...
2015-03-04 23:06:21 +01:00
artscoop
f953b98285
Try to fix tests
...
Choked on roundtrip, where a P;1 image was returned instead of a 1 image.
2015-03-04 22:40:04 +01:00
artscoop
7b657f6887
Fix for all good_tests
...
Fixed loading of all types of provided images (+rgba). Added edge case where the header is reported as 40 bytes long with BITFIELDS (they start past the 40 bytes of the header). Loading fails for RLE, but IIRC, they're unsupported so it's normal.
2015-03-04 22:05:32 +01:00
artscoop
c8551770eb
Quickfix number 4
...
Until tests pass.
2015-03-04 19:55:08 +01:00
artscoop
497ddf9c68
Remember correct image offset if bitfields+palette
...
Use the provided image offset if there is palette data while the image is bitfielded.
2015-03-04 19:50:52 +01:00
artscoop
877c138e21
1bpp BMP fix
...
It appears that
{{{
The handling of 1bpp bitmaps is a little complicated.
When reading 1bpp bitmaps, the palette is ignored.
1's are considered foreground, and they are considered black.
0's are considered background, and they are considered white.
}}}
so the raw mode has to be `1;I`
2015-03-04 19:26:15 +01:00
artscoop
c0ce8d0ae8
Removed debug print
...
Debug print left in _save. Removed.
2015-03-04 18:29:28 +01:00
artscoop
456bd96565
Fix 32-bit BMP loading (RGBA or RGBX)
...
PIL choked on perfectly valid BMP files (32 bits with Alpha). It could not handle valid RGBA masks to determine the raw format.
To clarify things, I:
- Rewrote the `BmpImagePlugin.BmpImageFile` class to be far more readable
- Made error messages more explicit (e.g. say that RLE bitmaps are unsupported)
- Made a readable dict to contain BMP header information
- Kept the existing security checks
- Instead of reading palette info by chunks of 3/4 bytes, read the whole palette info at once and parse the data.
- Now works with BMPv4/5 with Alpha (and can be exported to alpha PNG for example)
- Tested load and save with RGB24, RGB8, RGB8L, RGB32 and RGBA32.
- Tested with one bogus file. File not accepted, as expected.
I wanted to test more BMP formats, but I could not find that many images.
But for all the types I tested, it worked flawlessly.
2015-03-04 18:15:56 +01:00
Andrew Murray
7a798f8724
Added copy method font_variant() and accessible properties to truetype()
2015-03-04 00:00:18 +11:00
Andrew Murray
f644adbb05
Fixed binary conversion bug, and added corresponding tests
2015-03-02 09:56:47 +11:00
amoibos
aeb1e61aa7
let python do the endian stuff
2015-03-02 00:16:13 +11:00
Robin Lewis
7fafd09bf5
Document filename parameter as deprecated in truetype()
2015-02-23 12:23:01 +00:00
Robin Lewis
066faeb211
Reference non-deprecated argument in truetype documentation
2015-02-23 12:00:52 +00:00
Björn Pedersen
61fb1c5bd4
Tiff: allow writing floating poitn tag values
...
Use the inverse logic used for loading floating point tag
values to also write them out again.
2015-02-23 09:46:35 +01:00
wiredfool
d80c27dc3f
Merge pull request #1095 from hugovk/pickle_L_mode
...
Fix pickling L mode images with no palette
2015-01-30 11:39:50 -08:00
Hugo
95e9379f45
Merge pull request #1091 from wiredfool/repr_png
...
iPython display hook
2015-01-30 14:37:03 +02:00
hugovk
0f89322216
When unpickling, only put palette if there is one
2015-01-30 14:04:35 +02:00
wiredfool
8ebdc5b64d
Comment typo [ci skip]
2015-01-28 20:23:15 -08:00
wiredfool
8c2a7502a4
Correct the name
2015-01-28 10:02:04 -08:00
wiredfool
05fe86654c
Added _repr_png method for ipython display hooks
2015-01-28 09:35:31 -08:00
wiredfool
1e040feb1b
Adjust buffer size when quality=keep, fixes #148 (again)
2015-01-18 10:56:29 -08:00
Mikhail Korobov
52cbd123a2
DOC fix "Write Your Own File Decoder" link in Image API docs
2015-01-07 04:12:37 +05:00
wiredfool
0f05eb287a
Version Bump --2.7.0
2014-12-31 20:42:57 -08:00
wiredfool
6a7a6fbdb8
Fixed warning on docs building (url can't wrap), added parameters
2014-12-31 16:35:56 -08:00
wiredfool
1aed192554
Merge pull request #1054 from charleslaw/master
...
Look for OSX and Linux fonts in common places (fixes #370 )
2014-12-31 14:43:13 -08:00
Hugo
b3e09122e5
Merge pull request #1060 from wiredfool/png-dos
...
Fix potential PNG decompression DOS
2014-12-31 20:32:41 +02:00
wiredfool
0b75526ffe
Limit total text chunk size to 64k
2014-12-29 17:10:27 -08:00
Charles Law
1c6a89e4c2
default to using /usr/share when XDG_DATA_DIRS is empty or unset
2014-12-29 17:03:39 -08:00
wiredfool
6ffe9e1689
Merge pull request #1058 from hugovk/anntzer-tiff-resolution2
...
Tests for PR #1044 : Use underscores, not spaces, in TIFF tag kwargs
2014-12-29 15:23:20 -08:00
wiredfool
5390aa1692
Merge pull request #1055 from hugovk/test_psdraw
...
Update and test PSDraw
2014-12-29 15:17:23 -08:00
wiredfool
44286ba3c9
Fix for zlib.decompression bomb in iTXt,zTXt, and iCCP chunks
2014-12-28 22:49:52 -08:00
hugovk
c4d9bb6eaa
flake8
2014-12-27 23:07:41 +02:00
hugovk
c2f433e5ac
Remove unimplemented setink()
2014-12-27 22:41:56 +02:00
hugovk
8eb117dc9e
Fix for Python 3
2014-12-27 22:26:54 +02:00
Charles Law
17d720aebc
Partial Fix #370 : look for linux fonts in common places
2014-12-26 19:12:06 -05:00
Charles Law
4d2dd3ee7b
Partial Fix #370 : look for osx fonts in common places
2014-12-26 19:12:05 -05:00
Antony Lee
800480db52
Use underscores, not spaces, in TIFF tag kwargs.
...
kwargs with spaces ("x resolution", "y resolution", "resolution unit"
and "date time") are deprecated.
2014-12-09 15:17:33 -08:00
homm
66cacc282b
do not use really draft JPEG decoding quality
2014-12-04 03:30:39 +03:00
homm
806c06f49f
use less expensive BICUBIC resampling
2014-12-04 03:30:39 +03:00
homm
43d5d06ce4
rename Image.ANTIALIAS to Image.LANCZOS
2014-11-28 01:41:56 +03:00
hugovk
c859e3bf40
Some landscape.io fixes
2014-11-27 21:43:45 +02:00
wiredfool
42b59046e7
Merge pull request #993 from moriyoshi/fix/moriyoshi/gif-encoder-optimization-bug
...
The optimization algorithm is only applicable to the image of mode="P" or "L".
2014-11-27 10:36:34 -08:00
wiredfool
9f7ee1cf91
Merge pull request #1024 from holg/master
...
[ADD] added PySide compability
2014-11-27 10:31:42 -08:00
wiredfool
e16ee15f2c
Merge pull request #997 from homm/replace-resize
...
Replace resize method
2014-11-27 10:26:48 -08:00
wiredfool
8a3302ba5d
Merge pull request #961 from homm/fast-box-blur
...
Merge Fast Gaussian Blur
2014-11-27 10:20:11 -08:00
holger
100309feaf
[ADD] added PySide compability
2014-11-20 23:08:58 +01:00
Hugo
0accf25947
Merge pull request #1021 from wiredfool/save-docs
...
Docs for Image.save [ci skip]
2014-11-20 08:03:15 +02:00
Hugo
3052d4909c
Merge pull request #1020 from wiredfool/quantize
...
Docstring for Image.quantize. [ci skip]
2014-11-20 08:01:10 +02:00
Hugo
2676845e7e
Merge pull request #1019 from wiredfool/load-docs
...
Docs for PyAccess, PixelAccess objects [ci skip]
2014-11-20 07:58:59 +02:00
wiredfool
c770984867
Document all the save params for PNG, and their references [ci skip]
2014-11-19 15:35:33 -08:00
wiredfool
962ced916d
Image.save docs, rename fp, link to params [ci skip]
2014-11-19 15:35:26 -08:00
wiredfool
af8588f34e
Docstring for Image.quantize. [ci skip]
2014-11-19 14:26:07 -08:00
wiredfool
ee6f150ef1
Docs for PyAccess, PixelAccess objects [ci skip]
2014-11-19 14:04:39 -08:00
wiredfool
d1f4633c7b
Many links to mode concept anchor [ci skip]
2014-11-19 12:49:27 -08:00
Hugo
81bb6df88d
Merge pull request #1016 from wiredfool/port-docs
...
Better docs explaining import _imaging failure
2014-11-19 21:57:21 +02:00
wiredfool
b13a90441f
Better docs explaining import _imaging failure [ci skip]
2014-11-19 11:42:26 -08:00
homm
1a097d2e02
Merge commit 'e0b94d65bedb4a2124228aa579686a3ba2974d11' into replace-resize
2014-11-19 13:45:04 +03:00
wiredfool
9a2cc7df83
hoist import, move test to libtiff
2014-11-15 20:38:52 -08:00
Martin Fergie
dd3a46520c
Fix for saving to io.BytesIO()
2014-11-14 12:29:10 +00:00
Hugo
5ae3c1c881
Merge pull request #1007 from wiredfool/ico_save
...
Ico save, additional tests
2014-11-13 10:09:14 +02:00
Aurélien Ballier
37252a67cc
Fix bad importÃ
2014-11-11 19:39:05 +01:00
Aurélien Ballier
f3284e57a6
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
PIL/ImageQt.py
2014-11-11 18:00:00 +01:00
homm
f88878c20b
reflect changes in documentation
2014-11-09 21:52:16 +03:00
homm
693aff7ee1
remove thumbnail fallback
2014-11-09 21:52:16 +03:00
homm
aba798af25
replace resize implementation
2014-11-09 21:52:16 +03:00
Herb
79c7c7a01a
add tests and docs
2014-11-08 14:49:50 +08:00
wiredfool
cfbe49f124
Merge pull request #994 from homm/add-transpose
...
Add transpose and cache aware rotation
2014-11-07 13:58:18 -08:00
Herb
b38c8e0df2
add ico save support
2014-11-08 03:01:46 +08:00
homm
32079b1dcc
make transpose part of public api
2014-11-07 03:37:12 +03:00
Moriyoshi Koizumi
9d60085957
The optimization algorithm is only applicable to the image of mode="P" or "L".
2014-11-06 21:29:27 +09:00
hugovk
947e34616c
Merge remote-tracking branch 'upstream/master' into landscape-fixes
2014-11-01 09:44:10 +02:00
homm
36a35e7e27
update box_blur help
...
fix code style for `!`
fix spelling
2014-10-30 14:19:12 +03:00
Hugo
4d74b81a15
Merge pull request #980 from wiredfool/pr_938
...
4 bit TIFF support
2014-10-29 21:41:17 +02:00
hugovk
0df43e4f93
Avoid divide by zero
2014-10-25 23:42:02 +03:00
homm
65173f946b
replace gaussian blur with extended box blur implementation
2014-10-25 16:36:41 +04:00
homm
d89c9ab750
Merge branch 'gaussian-refactor' into fast-box-blur
2014-10-25 15:50:57 +04:00
Hugo
8b7a989018
Fix "can can" typo
...
Closes #971 .
[CI skip]
2014-10-25 11:07:34 +03:00
wiredfool
042b809f81
Revert incorrect doc change [ci skip]
2014-10-21 09:57:46 -07:00
homm
c80fe312e4
Add extended box blur.
2014-10-20 10:48:16 +04:00
homm
53c8352f39
highlevel api
2014-10-15 04:08:21 +04:00
wiredfool
4f9b2dbe69
Fix pypy 2.4 regression, #952
2014-10-13 11:12:14 -07:00
homm
c42991120a
fix tests and set default effective_scale value for gaussian filter
2014-10-12 14:05:22 +04:00
homm
84b9f16bfd
add effective_scale to all APIs
2014-10-12 03:29:20 +04:00
Hugo
94863907d5
Merge pull request #942 from manisandro/nitpicks
...
Fixes for things rpmlint complains about
2014-10-07 21:07:00 +03:00
Eric Soroos
ba27920838
Fix for regression in scipy
2014-10-04 23:19:30 +00:00
Sandro Mani
58f2b10e0b
Make OleFileIO.py executable, fix shebang
2014-10-03 09:59:25 +02:00
Sandro Mani
0ca102f9fe
Convert file to utf-8
2014-10-03 09:57:32 +02:00
Hugo
fd77bcd5a7
Fix rename regression
2014-10-02 12:43:49 +03:00
Hugo
8cb5688047
flake8
2014-10-02 10:45:41 +03:00
Hugo
552a9a28a0
Support and test for 4-bit greyscale TIFF
2014-10-02 10:43:22 +03:00
wiredfool
9634e437ef
Version Bump -- 2.6.0
2014-10-01 09:59:00 -07:00
Hugo
ae7b765b53
Fix some Landscape.io errors and warnings
2014-10-01 16:50:33 +03:00
wiredfool
6abc0d2f40
Version Bump - 2.6.0-rc1
2014-09-29 13:14:49 -07:00
wiredfool
20a90494d1
Fix for docs. Can't wrap warning blocks
2014-09-23 10:11:34 -07:00
wiredfool
1f377c2ace
Merge from master
2014-09-23 09:52:03 -07:00
Hugo
5e676ea0bd
Merge remote-tracking branch 'upstream/master' into flake8
...
Conflicts:
Tests/bench_cffi_access.py
Tests/test_file_palm.py
Tests/test_format_hsv.py
Tests/test_image_putdata.py
Tests/test_locale.py
Tests/test_mode_i16.py
2014-09-23 16:35:20 +03:00
Hugo
91588383e7
Merge pull request #904 from hugovk/hopper3
...
Replace Lena with Hopper (Part II) & Fix for handling P + transparency -> RGBA conversions
2014-09-20 23:31:59 +03:00
wiredfool
af672b1d7e
Fix for handling P + transparency -> RGBA conversions
2014-09-20 10:27:52 -07:00
wiredfool
394f6d3249
Fix for alpha preservation in ImageEnhance, #899
2014-09-18 09:10:08 -07:00
wiredfool
5dc418b8de
Merge pull request #906 from hugovk/ImageGrab
...
Improve error message for ImageGrab on non-Windows
2014-09-18 09:08:07 -07:00
Jim Garrison
c85e0e915b
Image.close() docstring: use correct "its"
2014-09-17 21:36:59 -07:00
Hugo
99887a5467
Improve the error message when importing ImageGrab on non-Windows ( #901 )
2014-09-16 16:05:22 +03:00
hugovk
8f9e338303
flake8 + typo: infile_temo -> infile_temp
2014-09-14 12:08:31 +03:00
hugovk
1de128d6b6
Merge branch 'master' into flake8
2014-09-14 10:23:51 +03:00
Hugo
126bf8f1d7
Merge pull request #898 from wiredfool/joshware-j2k-leak
...
Jpeg2k Decode/Encode Memory Leak Fix
2014-09-13 09:05:22 +03:00
Josh Ware
94194ed248
Cleaning up.
...
Reduced memory limit to 1GB
2014-09-12 22:09:27 -07:00
Josh Ware
7407371deb
NULLing pointers on cleanup
2014-09-12 22:09:27 -07:00
Josh Ware
3da6768a72
Testing whether e.cleanup causes segfaults
2014-09-12 22:09:27 -07:00
Josh Ware
caa95a26b2
Added memory leak fix and testing for Encoder
2014-09-12 22:09:27 -07:00
Josh Ware
7db19efe75
Reduced JPEG2000 test iterations, and added cleanup for decoding using PyPy
2014-09-12 22:09:27 -07:00