Luke Granger-Brown
4e4fe2c172
Fix TiffImagePlugin interpolating bytes into str.
2020-07-20 14:56:18 +01:00
Conchylicultor
89fb0ee5aa
Update TiffImagePlugin.py
2020-07-01 14:05:47 -07:00
Conchylicultor
eb6faf6f02
Minor str(bytes) call
...
Some environments have strict mode to catch potential str<>bytes error. This is triggered by this line:
```
TiffImagePlugin.py3", line 996, in _open
logger.debug("- ifh: {}".format(ifh))
BytesWarning: str() on a bytes instance
```
2020-07-01 12:20:17 -07:00
Andrew Murray
4ae694cd7b
Merge pull request #4712 from cool-RR/2020-06-12-raise-from
...
Fix exception causes all over the codebase
2020-06-28 15:22:05 +10:00
Hugo van Kemenade
7dd8837967
Merge pull request #4647 from radarhere/blocklist
...
Allow libtiff to write COLORMAP tag
2020-06-25 23:04:29 +03:00
Ram Rachum
2f0d430807
Fix exception causes all over the codebase
2020-06-21 13:21:25 +03:00
Andrew Murray
8383e840e4
Merge pull request #4626 from radarhere/stripbytecounts
...
Change STRIPBYTECOUNTS to LONG if necessary when saving
2020-06-21 09:02:56 +10:00
Hugo van Kemenade
2d9dcc7657
Merge pull request #4627 from radarhere/tiff_jpeg
...
Replaced tiff_jpeg with jpeg compression when saving TIFF images
2020-06-20 15:49:09 +03:00
Andrew Murray
8a51ad07fd
Renamed variable
...
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-06-20 22:41:04 +10:00
Andrew Murray
d728cd5875
Allow libtiff to write COLORMAP tag
2020-06-20 22:38:38 +10:00
Andrew Murray
2d284aea12
Allow writing of UNDEFINED tags
2020-06-10 16:09:22 +10:00
Andrew Murray
7ecb5aaf7e
BYTE tags of variable length are only single strings
2020-06-10 16:09:22 +10:00
Hugo van Kemenade
124c06dcc1
Merge pull request #4550 from radarhere/logging
2020-05-25 16:55:35 +03:00
Andrew Murray
aa1761bc9f
Replace tiff_jpeg with jpeg compression when saving
2020-05-15 22:37:13 +10:00
Andrew Murray
b3604167ad
Change STRIPBYTECOUNTS to LONG if necessary when saving
2020-05-15 20:47:57 +10:00
Hugo van Kemenade
f83f19788b
Merge pull request #4552 from radarhere/animation
...
Simplified animation code
2020-04-17 19:30:04 +03:00
Andrew Murray
9956a6c777
Fixed bug when unpickling TIFF images
2020-04-17 22:13:14 +10:00
Andrew Murray
0b33a87b0d
Replaced property methods for n_frames and is_animated with normal properties
2020-04-17 22:00:21 +10:00
Andrew Murray
fe8225732a
Throw image loading error faster
2020-04-17 18:29:45 +10:00
Andrew Murray
13dcab0fb7
Replaced DEBUG with logging
2020-04-13 07:16:46 +10:00
Hugo
dda6145fce
Since Python 3.3 IOError and WindowsError have been merged into OSError
2020-04-10 12:57:29 +03:00
Andrew Murray
8924054dd9
Changed _limit_signed_rational
2019-12-31 19:12:33 +11:00
Andrew Murray
74d53bcd15
Lint fixes
2019-12-31 11:58:39 +11:00
Andrew Murray
6d3fb7b083
Merge branch 'master' into exif-writing-fixes
2019-12-31 11:38:33 +11:00
Andrew Murray
f77c409742
Renamed variable
2019-12-31 09:04:25 +11:00
Andrew Murray
82356f7f36
Removed _libtiff_version
2019-12-28 12:57:13 +11:00
Andrew Murray
34d04d3e82
Replaced distutils with C version check
2019-12-28 09:57:49 +11:00
Hugo
e5486b40f8
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-18 13:56:42 +02:00
Andrew Murray
29c0a2fa6e
Merge pull request #4197 from hugovk/rm-plugins-__version__
...
Remove deprecated __version__ from plugins
2019-11-18 22:07:54 +11:00
Hugo
12a725988e
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-16 17:10:10 +02:00
Hugo
0c5895470c
Remove deprecated __version__ from plugins
2019-11-05 17:01:03 +02:00
Hugo
cc63f66575
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-01 13:22:56 +02:00
Andrew Murray
887a7e503c
Only assign once
2019-10-30 22:10:38 +11:00
Andrew Murray
290189596e
Removed redundant return
2019-10-30 22:10:38 +11:00
Andrew Murray
d9845c14c8
Lint fixes
2019-10-29 22:42:34 +11:00
Hugo van Kemenade
40133cfc74
Merge branch 'master' into rm-2.7
2019-10-26 09:07:44 +03:00
Jon Dufresne
cae17eb927
Use more Pythonic super() instead of referencing parent class
...
https://rhettinger.wordpress.com/2011/05/26/super-considered-super/
2019-10-22 06:54:58 -07:00
Hugo
4382413bb4
Remove redundant bytearray
2019-10-07 16:23:43 +03:00
Hugo
865b17d5cf
Remove Python 2-compatibility code
2019-10-07 16:23:22 +03:00
Andrew Murray
7e3156eb17
Updated IFDRational operators
2019-10-07 14:30:59 +03:00
Hugo
538d9e2e5d
Upgrade Python syntax with pyupgrade --py3-plus
2019-10-07 14:30:59 +03:00
Hugo
af770a6c55
Drop support for EOL Python 2.7
2019-10-07 14:30:59 +03:00
Andrew Murray
6a83d5b239
Merge pull request #4114 from radarhere/tiff_size
...
Removed deprecated setting of TIFF image sizes
2019-10-05 02:33:08 +10:00
Andrew Murray
d6ae0a99a7
Removed deprecated setting of TIFF image sizes
2019-10-03 22:12:28 +10:00
Andrew Murray
1e6eac40fc
Changed condition to use DEBUG as a boolean
2019-10-03 20:23:49 +10:00
Andrew Murray
9a977b975c
Raise error if dimension is a string
2019-09-30 18:48:10 +10:00
Andrew Murray
f9236a11ce
Do not seek if the file pointer is about to be closed
2019-09-21 21:54:39 +10:00
Andrew Murray
1b70a4c6b5
Use TIFF orientation
2019-09-13 22:36:26 +10:00
Konstantin Kopachev
06e34db10b
Merge remote-tracking branch 'upstream/master' into exif-writing-fixes
...
# Conflicts:
# Tests/test_file_tiff_metadata.py
2019-08-29 09:20:09 -07:00
Andrew Murray
ddcfd259cf
Corrected short and long range checks
2019-08-29 19:36:46 +10:00
Andrew Murray
524933aa1d
Lint fixes
2019-08-12 19:43:35 +10:00
Konstantin Kopachev
1b626f4d22
Fix RATIONAL and SRATIONAL boundaries when writing IFDs
2019-08-12 19:43:35 +10:00
chadawagner
597ca79b1b
rewind before decode, consistent with other cases
2019-08-12 18:56:34 +10:00
chadawagner
88be36c27a
check prior fp result, do not use if False
2019-08-12 18:56:34 +10:00
Jon Dufresne
d50445ff30
Introduce isort to automate import ordering and formatting
...
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.
Uses the configuration recommended by the Black to avoid conflicts of
style.
Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Oliver Tonnhofer
edeb8d69af
Merge branch 'master' into tiff-jpeg-quality
2019-07-01 11:00:06 +02:00
Oliver Tonnhofer
2af4026201
Improve encoding of TIFF tags ( #3861 )
...
* Improve encoding of TIFF tags
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2019-06-30 21:48:19 +03:00
Andrew Murray
c994b783ec
Merge branch 'master' into tiff-jpeg-quality
2019-06-30 14:03:09 +10:00
Christoph Gohlke
a70da8112d
Add TIFFTAG_SAMPLEFORMAT to blocklist
...
The SAMPLEFORMAT tag is determined by the image format and should not be copied from legacy_ifd.
2019-06-30 13:26:58 +10:00
Oliver Tonnhofer
2b7d8be536
tiff: add support for JPEG quality
...
Uses JPEGQUALITY pseudo-tag from libtiff.
Also changes the way tags are passed to PyImaging_LibTiffEncoderNew from
dict to list to ensure that COMPRESSION tag is added before JPEGQUALITY.
This is required as the COMPRESSION tag registers the JPEGQUALITY
pseudo-tag.
2019-06-26 06:33:54 +10:00
Oliver Tonnhofer
61add9d6b0
Improve encoding of TIFF tags
...
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
2019-06-26 06:33:19 +10:00
David Nisson
5857bf8243
corrected args to reflect change to tile descriptors
2019-06-23 13:49:41 +10:00
David Nisson
cb7d9bcd12
updated TIFF tile descriptors to match current decoding functionality
2019-06-23 13:49:15 +10:00
Hugo
cab7231e2a
Format with Black
2019-06-11 11:42:05 +03:00
Hugo
53a7e35004
Format with Black
2019-06-10 18:22:46 +03:00
Hugo
169961649d
Merge pull request #3848 from radarhere/pa
...
Improved palette handling for LA and PA modes
2019-06-05 22:32:44 +03:00
Jon Dufresne
42602b69f3
Use dict comprehension in ImageFileDirectory_v2.named()
2019-05-26 06:56:01 -07:00
Andrew Murray
e131fa22e2
Fixed reading and saving for TIFF and IM in PA mode
2019-05-11 14:43:48 +10:00
Andrew Murray
ca0d28eae5
Added reading of CMYK;16L TIFF images
2019-05-01 00:42:30 +10:00
Hugo
7d378a8e4c
Merge pull request #3625 from radarhere/exif
...
Add EXIF class
2019-04-01 10:20:05 +03:00
Andrew Murray
259a2ce2b2
Removed camelcase
2019-03-31 08:09:01 +11:00
Hugo
05849ca794
Merge pull request #3714 from radarhere/tiff_frames
...
Improvements to TIFF is_animated and n_frames
2019-03-30 12:04:16 +02:00
Andrew Murray
c96cdb5e77
Consistent DPI rounding
2019-03-30 15:03:57 +11:00
Andrew Murray
d5db62be7b
Added EXIF class
2019-03-28 21:13:12 +11:00
Andrew Murray
0a877a527d
Speed up n_frames by skipping past the last frame already seeked
2019-03-28 08:13:47 +11:00
Andrew Murray
be80b083e5
Automatically populate _n_frames if seeking to the last frame
2019-03-28 08:13:47 +11:00
Andrew Murray
d84fd20f0c
Simplified is_animated
2019-03-28 08:13:47 +11:00
Andrew Murray
ab85290911
Fixed bug when seeking backwards and then forwards
2019-03-13 18:54:09 +11:00
Konstantin Kopachev
28c6f555a2
Merge remote-tracking branch 'remotes/upstream/master' into tiff-old-jpeg
2019-03-11 10:38:02 -07:00
Hugo
c88ada1dcd
Merge pull request #3672 from radarhere/tiff_tag_type
...
Corrected length of Tiff BYTE tags
2019-03-11 11:59:29 +02:00
Hugo
b75210d824
Merge pull request #3572 from jdufresne/seek-constants
...
Replace .seek() magic numbers with io.SEEK_* constants
2019-02-27 23:30:27 +02:00
Andrew Murray
dd0e4ac0a1
Corrected length of Tiff BYTE tags
2019-02-22 23:17:26 +11:00
Hugo
d167f9e0bd
Merge pull request #3669 from radarhere/typo
...
Fixed typo
2019-02-21 18:24:15 +02:00
Hugo
cf08e21141
Merge pull request #3667 from radarhere/tifftags
...
Use constants for TIFF tag types
2019-02-20 22:29:21 +02:00
Hugo
78b7038a9b
Merge pull request #3555 from cgohlke/patch-1
...
Add TIFF compression codecs: LZMA, Zstd, WebP
2019-02-20 11:51:33 +02:00
Andrew Murray
dbc476255e
Fixed typo
2019-02-19 19:49:50 +11:00
Andrew Murray
9e52fb0fe4
Use constants for tag types
2019-02-19 19:45:53 +11:00
Andrew Murray
1a7a1123e6
Merge branch 'master' into tiff-old-jpeg
2019-02-15 19:56:17 +11:00
Hugo
f7134f1c18
Merge pull request #3628 from jdufresne/dep-plugin-version
...
Deprecate PIL.*ImagePlugin.__version__ attributes
2019-02-12 15:39:43 +02:00
Andrew Murray
fbaf87ae03
Replaced strings with docstrings
2019-02-03 15:58:24 +11:00
Jon Dufresne
a11fed32b3
Deprecate PIL.*ImagePlugin.__version__ attributes
...
Use PIL.__version__ instead.
2019-02-02 17:39:55 -08:00
Jon Dufresne
a00fc33c04
Replace .seek() magic numbers with io.SEEK_* constants
...
A bit more readable.
https://docs.python.org/3/library/io.html#io.IOBase.seek
2019-01-12 18:22:07 -08:00
cgohlke
c0f4382af2
Add TIFF compression codecs: LZMA, Zstd, WebP
2019-01-06 19:49:00 -08:00
Andrew Murray
71b64dcf73
Only close __fp if not fp
2019-01-04 12:29:23 +11:00
Andrew Murray
6ead422e91
Added custom string TIFF tags
2018-12-29 16:14:52 +11:00
Andrew Murray
952de2ec4c
Use constants for tag types
2018-12-29 16:14:29 +11:00
Hugo
78bc4da131
Merge pull request #3350 from radarhere/custom_tags
...
Added custom int and float TIFF tags
2018-12-26 13:07:46 +02:00
Hugo
3ed5dcc928
Merge pull request #3467 from hugovk/lint-can-fail
...
CI: Allow lint job to fail
2018-12-13 21:09:58 +02:00
Konstantin Kopachev
e91b851fdc
Add reading old-JPEG compressed TIFFs
...
Old-style JPEG compression in TIFFs are able to be read using Strip/Tile APIs. Although, it should be possible to read them using Scanline API, it does not work for some reason. Anyway, reading subsampled YCbCr formats through Strip/Tile/Scanline libtiff API does not de-subsample the data, so caller should unpack data to whatever format is appropriate. New-style JPEG compressed images were already read through libtiff as RGB images (https://github.com/python-pillow/Pillow/pull/3227 ). Unfortunately, there is no flag to ask libtiff to de-subsample old jpeg, but it provides a way to read any image as 32bit RGBA. This commit adds ability to read old-style JPEG TIFFs through reading *all* YCbCr images as RGBX using Tile and Strip reading API. This supersedes previous work (PR #3227 ) to read new-style JPEG-TIFFs.
2018-12-10 10:07:41 -08:00
Hugo
c353225851
Prefer 'except Exception:' to bare 'except:'
2018-12-04 23:25:28 +02:00