Commit Graph

771 Commits

Author SHA1 Message Date
nulano
cacbdc680c override Win10 dpi scaling in screengrab
(cherry picked from commit 45ead62d6431c8339613e8ced85b705c80a7fdc9)
2019-08-12 18:51:52 +10:00
Andrew Murray
dfed1424d1 Improved ImageFont documentation 2019-07-25 20:04:45 +10:00
Andrew Murray
e2ee2a30a5 Corrected tag type 2019-07-24 19:57:28 +10:00
Andrew Murray
66ad3cb461 Changed overflow check to use PY_SSIZE_T_MAX 2019-07-17 07:07:26 +10:00
Hugo van Kemenade
1ab5670eb1
Introduce isort to automate import ordering and formatting (#3954)
Introduce isort to automate import ordering and formatting
2019-07-16 23:02:31 +03: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
Andrew Murray
13224bf029 Removed unused argument 2019-07-04 20:07:33 +10:00
Hugo
50693f8e59
Added explicit braces (#3937)
Added explicit braces
2019-07-03 15:05:15 +03:00
Hugo
292b4d038c 6.2.0.dev0 version bump 2019-07-03 08:49:24 +03:00
nulano
86d4c53d79 revert #3780 for PyPy as it hasn't been updated 2019-07-02 08:52:15 +02:00
Rolf Eike Beer
0e0afd4acf fix bad loop increments in p2i() and p2f()
Fixes: 7a4af2b767
2019-07-01 20:25:52 +02:00
Andrew Murray
8fd1ed9b73 Added explicit braces 2019-07-01 22:07:45 +10:00
Hugo
c5578b7fd7 6.1.0 version bump 2019-07-01 14:17:21 +03:00
Oliver Tonnhofer
edeb8d69af
Merge branch 'master' into tiff-jpeg-quality 2019-07-01 11:00:06 +02:00
Hugo
555e305a60
Merge pull request #3225 from DerDakon/unaligned-access
Use explicit memcpy() to avoid unaligned memory accesses
2019-07-01 08:22:18 +03: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
Hugo
8d4bb339a6
Merge pull request #3780 from nulano/update_py_unicode
Update Py_UNICODE to Py_UCS4
2019-06-30 13:21:46 +03:00
Hugo
12695b8ca3
Merge pull request #3899 from radarhere/pixelsize
Consider I;16 pixel size when drawing
2019-06-30 13:18:46 +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
Andrew Murray
9074eda608
Merge pull request #3778 from radarhere/all_frames
Added ImageSequence all_frames
2019-06-30 07:55:34 +10:00
Rolf Eike Beer
7a4af2b767 fix unaligned accesses by using memcpy() 2019-06-29 21:04:11 +02:00
Rolf Eike Beer
220bfee19a replace copy operations with memcpy()
This replaces trivial instances where a copy from one pointer to the other
involves no further calculations or casts. The compiler will optimize this to
whatever the platform offers.
2019-06-29 19:30:24 +02:00
Andrew Murray
90d3d37164 Do not presume that the background color index is 0 2019-06-29 23:06:45 +10:00
Andrew Murray
97c15a245c Corrected color table size calculation 2019-06-29 23:02:26 +10:00
Andrew Murray
3e4db05249 Removed code not required by tests 2019-06-29 23:02:17 +10:00
Andrew Murray
c3e982e0c6
Merge branch 'master' into master 2019-06-29 22:59:17 +10:00
Hugo
af0d90a054
Merge pull request #3923 from cgohlke/patch-1
Use unsigned int to store TIFF IFD offsets
2019-06-29 11:02:10 +03:00
Hugo
0e7358a046
Updated TIFF tile descriptors to match current decoding functio… (#3795)
Updated TIFF tile descriptors to match current decoding functionality
2019-06-29 10:27:00 +03:00
Hugo
08c47925d0
Added an image.entropy() method (#3608)
Added an `image.entropy()` method
2019-06-29 10:12:34 +03:00
Hugo
a96482bba0
Pass the correct types to PyArg_ParseTuple (#3880)
Pass the correct types to PyArg_ParseTuple
2019-06-28 21:49:54 +03:00
Christoph Gohlke
59e1328272
Use unsigned int to store TIFF IFD offsets 2019-06-27 15:30:19 -07:00
Christoph Gohlke
129df60c48
Use unsigned int to store TIFF IFD offsets 2019-06-27 15:09:31 -07:00
Christoph Gohlke
2ebde32852
Use unsigned int to store TIFF IFD offsets 2019-06-27 15:07:52 -07:00
Hugo
119d1c927b
Merge pull request #3922 from radarhere/param
Improved parameter documentation
2019-06-28 00:25:41 +03:00
Hugo
372c7c352a
Merge pull request #3703 from jkrshnmenon/master
Add an upper limit for blocks_max in _set_blocks_max
2019-06-27 23:03:25 +03:00
Hugo
b584635a8c
Merge pull request #3912 from radarhere/non_font_bytes
Fixed crash when loading non-font bytes
2019-06-27 22:40:29 +03:00
Hugo
219f277129
Merge pull request #3858 from kulikjak/master
Fix SPARC memory alignment issues in Pack/Unpack functions
2019-06-27 21:27:37 +03:00
Andrew Murray
e319e32cec Improved parameter documentation [ci skip] 2019-06-27 22:53:46 +10:00
Andrew Murray
1a71faf8ea Removed variable 2019-06-26 19:15:47 +10:00
Alexander Böhn
7b815a5f1d Added an image.entropy() method
This calculates the entropy for the image, based on the histogram.

Because this uses image histogram data directly, the existing C
function underpinning the `image.histogram()` method was abstracted
into a static function to parse extrema tuple arguments, and a new
C function was added to calculate image entropy, making use of the
new static extrema function.

The extrema-parsing function was written by @homm, based on the
macro abstraction I wrote, during the discussion of my first
entropy-method pull request: https://git.io/fhodS

The new `image.entropy()` method is based on `image.histogram()`,
and will accept the same arguments to calculate the histogram data
it will use to assess the entropy of the image.

The algorithm and methodology is based on existing Python code:

* https://git.io/fhmIU

... A test case in the `Tests/` directory, and doctest lines in
`selftest.py`, have both been added and checked.

Changes proposed in this pull request:

* Added “math.h” include to _imaging.c
* The addition of an `image.entropy()` method to the `Image`
  Python class,
* The abstraction of the extrema-parsing logic of of the C
  function `_histogram` into a static function, and
* The use of that static function in both the `_histogram` and
  `_entropy` C functions.
* Minor documentation addenda in the docstrings for both the
  `image.entropy()` and `image.histogram()` methods were also
  added.
* Removed outdated boilerplate from testing code
* Removed unused “unittest” import
2019-06-26 19:15:47 +10:00
Hugo
a79147ff96
Merge pull request #3916 from cgohlke/patch-1
Fix memory leak
2019-06-26 12:09:50 +03:00
Hugo
f2d0106a9b
Merge pull request #3917 from cgohlke/patch-2
Fix potential null pointer is passed into memcpy
2019-06-26 12:09:22 +03:00
Jayakrishna Menon
37516fb665 adding an upper limit for blocks_max in _set_blocks_max 2019-06-26 19:08:07 +10:00
Christoph Gohlke
afed559e4f
Fix msvc9 compile error 2019-06-25 17:18:37 -07:00
Christoph Gohlke
c34cefb576
Use ssize_t to store number of elements in buffer 2019-06-25 14:41:06 -07:00
Christoph Gohlke
a78341e26c
Fix potential null pointer is passed into memcpy 2019-06-25 14:23:20 -07: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
Christoph Gohlke
47f7eba279
Fix memory leak 2019-06-25 13:33:49 -07: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