Commit Graph

880 Commits

Author SHA1 Message Date
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