Andrew Murray
c2a42655e1
Allow get_child_images to access JPEG thumbnails
2022-12-06 19:30:53 +11:00
Sam Mason
eddc9bdcec
switch to #z for comment parameter
...
* means `comment=None` can be passed directly
* no need to conditionally run `str.encode()`
* clean up checking of whether a comment is passed
2022-12-05 17:46:54 +00:00
Andrew Murray
e50ae85ea4
Use jpeg_write_marker to write comment
2022-12-05 13:57:26 +11:00
Andrew Murray
c1d0a00943
Use _binary instead of struct
2022-12-03 09:31:05 +11:00
Andrew Murray
976ad5746a
Save comments from any image format by default
2022-12-03 09:29:02 +11:00
pre-commit-ci[bot]
e9f4858491
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2022-12-02 18:07:10 +00:00
Sam Mason
d822d85af6
support round-tripping JPEG comments
2022-12-02 17:57:19 +00:00
Andrew Murray
2944ff18d6
Support saving multiple MPO frames
2022-07-16 20:02:58 +10:00
Andrew Murray
bcded33cee
Merge pull request #6195 from hugovk/cleanup
...
Cleanup: various
2022-04-26 18:51:44 +10:00
Andrew Murray
5d4258e72b
Simplified index slicing
2022-04-25 22:52:29 +10:00
Hugo van Kemenade
ee85e387ba
Remove redundant parentheses
2022-04-10 23:39:54 +03:00
Hugo van Kemenade
4cb8e4b3fa
Add deprecations helper
2022-04-06 13:19:52 +03:00
Andrew Murray
ae8de77721
Raise ValueError when trying to save empty image
2022-03-28 21:18:53 +11:00
Hugo van Kemenade
601c9d8515
Fix return in docs
2022-02-09 14:28:43 +02:00
Andrew Murray
1059eb5376
If appended EOI did not work, do not keep trying
2022-01-01 21:04:32 +11:00
Hugo van Kemenade
6e310e3e2e
Update expected Pillow 10 release date: 2023-07-01
2021-10-18 15:48:49 +03:00
Andrew Murray
8ab06b4dac
Updated comment [ci skip]
2021-08-01 21:06:33 +10:00
Alexander Karpinsky
3abe5e884b
Add TypeError handling to pass corrupted dpi value in exif
2021-07-26 16:13:01 +03:00
Andrew Murray
d11c794997
Merge branch 'master' into 4962-jpeg-zigzag
2021-06-30 20:54:55 +10:00
Andrew Murray
70c7514a4a
Added specific removal details
2021-06-30 19:29:52 +10:00
Andrew Murray
d9d811ff21
Replaced xml.etree.ElementTree with defusedxml.ElementTree
2021-06-30 11:28:44 +10:00
Andrew Murray
cd31dae0d1
Added getxmp() for PNG
2021-06-12 13:57:14 +10:00
Andrew Murray
ae3bdf87f0
Added getxmp() for TIFF
2021-06-12 12:17:38 +10:00
Andrew Murray
c1fbe2d975
Corrected getxmp() descending into XML
2021-06-12 11:58:11 +10:00
Andrew Murray
18e204df05
Removed DPI rounding from JPEG loading
2021-05-07 21:23:29 +10:00
Andrew Murray
4351c37fc4
Corrected adobe_transform value
2021-04-15 21:49:51 +10:00
Andrew Murray
7a4bf3df0f
Changed exception type to be more specific
2021-04-15 20:55:45 +10:00
Andrew Murray
e12d5042ad
Adjusted docstring
2021-04-01 22:28:42 +11:00
Andrew Murray
2c8684c525
Moved getxmp() into JpegImageFile
2021-04-01 22:28:37 +11:00
Andrew Murray
faf8fad76d
Stopped flattening EXIF IFD into getexif()
2021-02-22 07:47:05 +11:00
Alexander
1ff61bcaa6
use offset for all binary input functions instead of slicing
2020-12-30 19:10:50 +11:00
Alexander
3757b8c748
remove extra i8 calls where input is proved bytes[] or int
2020-12-30 19:04:11 +11:00
gofr
4dc195333e
fixup! De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables
2020-10-17 20:45:54 +02:00
gofr
9980981c2e
De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables
...
Re-order the JPEG quantization tables to normal order when
loading. This wastes a few CPU cycles if you don't need them.
But it has the advantage of hiding the zigzag order JPEG
implementation detail of these tables completely from Pillow
users.
This difference has led to cases where:
* arrays in zigzag order were taken from a dict and passed
directly as a qtables parameter, causing them to be "zigzagged"
again by libjpeg.
* dicts with lists in normal order being passed to
JpegImagePlugin.convert_dict_qtables, causing them to be
unnecessarily "de-zigzagged".
2020-10-17 20:20:59 +02:00
Hugo van Kemenade
1cb3e2f742
Merge pull request #4918 from gofr/4825-jpeg-16-bit-qt
2020-10-14 17:58:12 +03:00
gofr
0a235314b8
Remove outdated comment about 8-bit DQT support
2020-10-10 15:26:44 +02:00
gofr
6db0843af4
Add support for 16-bit precision JPEG quantization values
...
Don't force JPEG quantization to be baseline-compatible
Quantization values will not be limited to values 1..255 and may
be 16 bits if needed. This may cause compatibility issues.
2020-10-10 14:35:09 +02:00
Andrew Murray
88f9ef2f6b
Removed unused function
2020-10-09 01:16:23 +11:00
Hugo van Kemenade
e0eec1eb56
Merge branch 'master' into rm-3.5
2020-09-01 20:16:46 +03:00
Hugo van Kemenade
10615a7da7
Upgrade Python syntax for 3.6+
...
Co-authored-by: nulano <nulano@nulano.eu>
2020-07-30 10:09:18 +03:00
Hugo van Kemenade
109c637ddb
'plugin', formatting and typos
2020-07-03 09:38:30 +03: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
Andrew Murray
9b6fdd719f
Call _accept instead of duplicating code
2020-06-23 17:41:13 +10:00
Andrew Murray
96d1a8b418
Updated _open check to match _accept
2020-06-23 00:25:59 +10:00
Ram Rachum
2f0d430807
Fix exception causes all over the codebase
2020-06-21 13:21:25 +03:00
Kirill Kuzminykh
f99e0b824b
Replaced primitive "magic number" inside of JpegImagePlugin._accept() function by more correct version.
2020-06-18 16:18:18 +03:00
Andrew Murray
fdc5993ace
Improved grammar [ci skip]
2020-05-16 21:37:33 +10:00
Alexander
f15e4a8e06
truncate icclist instead of changing to None
2020-05-08 19:48:20 +03:00
Andrew Murray
e41cfade29
Add JPEG comment to info dictionary
2020-03-07 06:57:29 +11:00
Hugo van Kemenade
0f7ed2d35f
Merge pull request #4435 from radarhere/close_images
...
Close exclusively opened images
2020-03-06 00:27:46 +02:00
Andrew Murray
a8c0794107
Allow saving of zero quality JPEG images
2020-02-21 22:05:44 +11:00
Andrew Murray
dd8b0de666
Close excusively opened images
2020-02-18 20:49:05 +11:00
Alexander
54f3dc6006
Math functions return int in Python 3
2020-02-08 00:34:53 +03:00
Alexander Karpinsky
5965437402
Merge pull request #4370 from uploadcare/jpeg-multiple-app13
...
Handle multiple and malformed JPEG APP13 markers
2020-01-27 15:46:36 +03:00
Alexander Karpinsky
fd03a68c1a
Update comment
...
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-01-27 15:18:02 +03:00
Jon Dufresne
63729766c4
Remove unnecessary coerce to float
...
In Python 3, the division operator is floating point division. No longer
need to coerce integers to floating point numbers before division.
2020-01-26 06:33:18 -08:00
Alexander
dcd0cd9129
update dict instead of ignoring
2020-01-19 14:53:46 +03:00
Alexander
f55eb73934
handle Photoshop chunks which can't be processed
2020-01-19 03:37:43 +03:00
Alexander
3841c96ec6
Cleanup code a bit
2020-01-19 03:15:37 +03:00
Alexander Karpinsky
b5d06baa5f
Merge pull request #4231 from uploadcare/box-in-thumbnail
...
Fix thumbnail geometry when DCT scaling is used
2019-12-25 15:41:40 +03:00
Andrew Murray
ee30fe1b39
Merge pull request #4147 from beipang2/issue_4146
...
Use default DPI when exif provides invalid x_resolution
2019-12-25 20:26:27 +11:00
Alexander
a027897f74
Merge branch 'master' into box-in-thumbnail
...
# Conflicts:
# Tests/test_image_thumbnail.py
2019-12-17 00:42:29 +03:00
Andrew Murray
e51be50549
Handle broken Photoshop data
2019-11-30 10:08:32 +11:00
Alexander
e234445682
linter fixes
2019-11-24 15:32:45 +03:00
Alexander
fd21de7dc4
Merge branch 'refs/heads/master' into box-in-thumbnail
...
# Conflicts:
# Tests/test_image_thumbnail.py
2019-11-24 05:27:13 +03:00
Alexander
4126f6cdf7
return chosen image mode and the box of the image
2019-11-24 04:55:49 +03:00
Alexander
2d1482b400
minor fixes related to draft
2019-11-24 04:33:34 +03:00
Hugo
e5486b40f8
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-18 13:56:42 +02:00
Hugo
0c5895470c
Remove deprecated __version__ from plugins
2019-11-05 17:01:03 +02:00
Bei Pang
f53b86b673
Removed TypeError exception check in JpegImagePlugin; Updated comments in test
2019-10-28 09:48:37 -07:00
Bei Pang
a2b0269167
Added comment to ValueError
2019-10-27 07:50:30 +11:00
Bei Pang
bcc766e02d
Use default DPI when exif provides invalid x_resolution
2019-10-27 07:50:30 +11:00
Hugo
3e24c5fea4
Replace isStringType(t) with isinstance(t, str)
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:26:52 +03:00
Andrew Murray
6cd99fc3cf
Merge branch 'master' into rm-2.7
2019-10-08 18:57:27 +11:00
Jon Dufresne
64032061c0
Move several imports to the top-level of the file
...
This better follows PEP 8 style guide:
https://www.python.org/dev/peps/pep-0008/#imports
> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.
This also avoids duplicate import code within the same file.
2019-10-07 06:28:36 -07:00
Hugo
538d9e2e5d
Upgrade Python syntax with pyupgrade --py3-plus
2019-10-07 14:30:59 +03:00
Andrew Murray
f3ed44a566
Changed the Image getexif method to return a shared Exif instance
2019-08-23 06:13:20 +10:00
Andrew Murray
0b405c86be
Lazily use ImageFileDirectory_v1 values from Exif
2019-08-18 23:03:43 +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
Hugo
53a7e35004
Format with Black
2019-06-10 18:22:46 +03:00
Andrew Murray
2274c2afc7
Fixed reading APP13 marker without Photoshop data
2019-04-05 20:02:45 +11:00
Andrew Murray
40bc46ff49
Moved ImageFile.Exif to Image.Exif
2019-04-01 20:03:02 +11:00
Hugo
7d378a8e4c
Merge pull request #3625 from radarhere/exif
...
Add EXIF class
2019-04-01 10:20:05 +03:00
Andrew Murray
2c09252640
Merge pull request #3658 from Glandos/fast_mpo_open
...
Fast MPO open
2019-03-31 12:58:07 +11:00
Andrew Murray
259a2ce2b2
Removed camelcase
2019-03-31 08:09:01 +11:00
Andrew Murray
c96cdb5e77
Consistent DPI rounding
2019-03-30 15:03:57 +11:00
Andrew Murray
e6a7dc8bb4
Capitalisation
2019-03-28 21:13:12 +11:00
Andrew Murray
d5db62be7b
Added EXIF class
2019-03-28 21:13:12 +11:00
Hugo
ace5ba4418
Merge pull request #3701 from radarhere/photoshop
...
Read Photoshop resolution data
2019-03-28 11:55:13 +02:00
Glandos
5d8b14fc9e
Cache EXIF information
...
In case we need to call _getexif from the outside, since it's already called while parsing.
cache the result in self.info. This is compatible with other file using _getexif, like WebP.
2019-03-06 22:05:48 +01:00
Andrew Murray
636ad68f5e
Read Photoshop resolution data
2019-03-06 10:28:45 +11:00
Adrien CLERC
4a87e067a2
convert Jpeg to Mpo instead of re-reading everything
2019-02-15 22:08:31 +01:00
Hugo
4ccdbf25cf
Merge pull request #3584 from radarhere/ifd_offset
...
Seek to IFD offset
2019-02-12 18:10:25 +02:00
Andrew Murray
d1df192e81
Renamed "file" variable to "fp"
2019-02-05 20:30:44 +11:00
Jon Dufresne
a11fed32b3
Deprecate PIL.*ImagePlugin.__version__ attributes
...
Use PIL.__version__ instead.
2019-02-02 17:39:55 -08:00
Andrew Murray
0481d0ac1e
Seek to IFD offset
2019-01-16 06:55:37 +11:00
Hugo
c353225851
Prefer 'except Exception:' to bare 'except:'
2018-12-04 23:25:28 +02:00
Hugo
94c94eb1f7
flake8: E128 continuation line under-indented for visual indent
2018-11-11 19:01:11 +02:00
Andrew Murray
0adeb82e98
Changed Image size property to be read-only by default
2018-09-30 13:45:18 +10:00
Jon Dufresne
37f10651bd
Clean up commented out debug print statements
2018-09-04 20:02:42 -07:00