Commit Graph

153 Commits

Author SHA1 Message Date
Andrew Murray
a8d154877d Added type hints 2024-05-13 18:47:51 +10:00
Sebastian Rittau
d63caf266d Various fixes 2024-05-07 15:59:20 +02:00
Sebastian Rittau
c92f59d758 Add various type annotations 2024-05-07 14:30:34 +02:00
Nulano
5f805c39cc Added type hints for PixelAccess methods and others 2024-04-29 23:52:51 +02:00
Andrew Murray
d2453250f1 Fixed joined corners for rounded_rectangle() non-integer dimensions 2024-03-15 23:58:07 +11:00
Andrew Murray
65cb0b0487 Added _typing.Coords 2024-02-06 07:49:43 +11:00
Andrew Murray
5a8e7dda79 Added type hints 2024-02-05 20:36:34 +11:00
Andrew Murray
6768d3aa91
Merge pull request #7497 from ZachNagengast/fix-alpha-for-overlapping-glyphs
Fix incorrect color blending for overlapping glyphs in BGRA mode
2023-12-24 19:03:28 +11:00
Hugo van Kemenade
43b2f61e79 Add 'from __future__ import annotations' using Ruff/isort 2023-12-21 13:13:31 +02:00
Andrew Murray
a6a612c6c5
Merge branch 'main' into fix-alpha-for-overlapping-glyphs 2023-12-02 21:33:29 +11:00
Zach Nagengast
bd2977c518
Update src/PIL/ImageDraw.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-12-01 22:56:59 -08:00
Nulano
0cef9f251c fix drawing text alpha on RGBA image on big-endian platforms 2023-11-27 17:12:12 +01:00
Christian Clauss
fd59f91d17 ruff: Minor optimizations of list comprehensions, x in set, etc. 2023-11-06 19:13:47 +06:00
Andrew Murray
b1f5ee9043 Added font_size keyword arguments to ImageDraw text methods 2023-08-26 17:01:15 +10:00
Andrew Murray
c68c508e27 Fixed joined corners for odd dimensions 2023-05-10 13:25:35 +10:00
Andrew Murray
3fc446c277 Added width argument to regular_polygon 2023-05-03 22:54:18 +10:00
Andrew Murray
bc0bf5efea Preserve line spacing backwards compatibility 2023-04-10 18:49:06 +10:00
Andrew Murray
b2301d70d1 Removed ImageFont.getsize and related functions 2023-04-10 16:56:13 +10:00
Andrew Murray
fec92ce9cc
Restored deleted docstring 2023-03-19 13:36:43 +11:00
Auto-5
f03f9670fa
Removed incorrect docstring 2023-03-18 14:12:53 +00:00
Andrew Murray
a4965a7eaa Split into x and y errors 2023-03-01 22:06:40 +11:00
Andrew Murray
b84c29a035 Raise an error if co-ordinates are incorrectly ordered 2023-03-01 11:22:35 +11:00
Andrew Murray
60208a3250 Only allow "corners" to be used as a keyword argument 2023-02-17 10:32:55 +11:00
Andrew Murray
0f2a4c1ae5 Added "corners" argument to rounded_rectangle() 2023-02-16 19:19:17 +11:00
pre-commit-ci[bot]
24183d652e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-06 19:27:19 +00:00
Hugo van Kemenade
2ae55ccbda Improve exception traceback readability 2022-12-30 00:07:52 +02:00
Andrew Murray
5471dc2b26 Use fractional coordinates when drawing text 2022-11-08 11:49:39 +11:00
Hugo van Kemenade
7a06bc6357
Merge pull request #6533 from nulano/document_imagedraw_attributes 2022-10-25 13:06:17 +03:00
Ondrej Baranovič
18bd77bbc0
simplify code, make test more generic 2022-08-25 19:45:33 +10:00
nulano
ced381edaa
Document ImageDraw attributes 2022-08-25 00:48:19 +02:00
Andrew Murray
54b01f55f8 Round box position to integer when pasting embedded color 2022-08-22 12:14:54 +10:00
Andrew Murray
8135bd5cfb Added documentation 2022-08-11 10:35:44 +10:00
Andrew Murray
04d9761316 Changed "font" to class variable 2022-08-06 17:29:44 +10:00
Andrew Murray
8a6050ee5b Replaced __internal__ argument with warning filters 2022-07-01 14:10:29 +02:00
nulano
c854bf8d1c
add getbbox and getlength to basic ImageFont and update related tests 2022-06-19 22:04:56 +01:00
nulano
406fe59242
deprecate font.getsize and related functions 2022-06-19 22:03:34 +01:00
Andrew Murray
e96177451e Only import ImageFont when necessary 2022-05-30 19:36:36 +10:00
Hugo van Kemenade
d3c9a6504e Variable in function should be snake_case 2022-04-10 23:55:16 +03:00
Andrew Murray
90a52d3c0d Added width argument to polygon 2021-11-16 22:02:54 +11:00
Hugo van Kemenade
31a96b9c9b Upgrade Python syntax with pyupgrade --py36-plus and format with Black 2021-10-19 15:34:52 +03:00
Andrew Murray
fa559277fb When allocating a new color, repurpose an unused index if necessary 2021-06-23 19:27:08 +10:00
Andrew Murray
362d504011 Raise an error if textbbox is used without a FreeTypeFont 2021-05-25 20:45:38 +10:00
Andrew Murray
92edc29439 Round down the radius in rounded_rectangle 2021-04-05 08:54:06 +10:00
Andrew Murray
9ce3eba7eb Only draw each pixel once 2021-03-08 19:54:03 +11:00
Andrew Murray
f5d49f4f61 Added rounded_rectangle method 2021-03-08 19:53:59 +11:00
nulano
d7a08cbd15 add color support to new text measuring functions 2020-10-12 16:05:19 +01:00
nulano
90e8255ba4 Merge remote-tracking branch 'upstream/master' into anchor-part3
# Conflicts:
#	Tests/test_imagefontctl.py
2020-10-12 15:50:45 +01:00
Hugo van Kemenade
43c3f4de80
Merge pull request #4955 from nulano/ft-color3 2020-10-12 13:52:01 +03:00
Hugo van Kemenade
15c339470d
Merge pull request #4523 from xtsm/ellipse
Implemented another ellipse drawing algorithm
2020-10-11 18:04:34 +03:00
nulano
1551e120ae add textlength and textbbox to ImageDraw 2020-10-09 01:02:51 +01:00
nulano
395aa946a9 add getbbox and getlength, with tests
Squashed commits:

[ec9ec31b] add tests for invalid anchor
(cherry picked from commit 9e50a6a47f79876ee56942152047f03fff03c49b)

[386a9170] fix lint and docs
(cherry picked from commit 2d0d5282fcfc3ee332a41e60b865ee766445cc3d)

[29f5d4c9] restore and document previous getsize behaviour
see discussion in issue 4789
(cherry picked from commit 9fbc94571ce0ed42fdd11e99f343a1613c9dc6d3)

[0ffd51a0] add getbbox and getlength, with tests
(cherry picked from commit c5f63737476a998c81e589e5819d21ca69bb7b46)
2020-10-09 00:56:58 +01:00
nulano
82a28d12e2 add support for fonts with COLR data 2020-10-07 05:29:10 +01:00
nulano
e6d4c2ce8f implement text anchor for truetype fonts
(cherry picked from commit bac9025918ccf944bac77addc130f33cf9d74701)
2020-09-19 15:17:45 +02:00
Hugo van Kemenade
3dba4ee10a
Merge pull request #4846 from comhar/features/compute_polygon_coordinates 2020-09-04 23:28:43 +03:00
Hugo van Kemenade
e0eec1eb56 Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
Tommy C
b142560488 Rename b_circle and bounding_circle + accept ((x0, y0), r)
Summary of changes

- Rename `b_circle` and `bounding_circle`
-`bounding_circle` now accepts both formats below:
    - (x0, y0, r)
    - ((x0, y0), r)
2020-08-22 20:19:23 +01:00
Tommy C
df9329f9f0 Replace bbox with b_circle, kwargs with args + minor tweaks
Summary of changes:
 - `ImageDraw.regular_polygon` now accepts a bounding circle which
inscribes the polygon. A bounding circle is defined by a center point
(x0, y0) and a radius. A bounding box is no longer accepted.
 - All keyword args have been replaced with positional args.

Misc
- Test image file renaming, minor variable name changes
2020-08-20 20:46:11 +01:00
Tommy C
ac7d41545d Update regular_polygon args + arg checks
Summary of changes

- Allow positional args in `regular_polygon` method
- Allow multiple bounding box formats
    - (e.g. bbox = [(x0, y0), (x1, y1)] or [x0, y0, x1, y1])
- Check if bounding box is square
- Update var names
    - b_box => bbox
    - nb_sides => n_sides
2020-08-16 21:07:16 +01:00
Tommy C
0ed01dd964 Add ImageDraw.regular_polygon 2020-08-16 13:29:13 +01:00
Hugo van Kemenade
dd87dd50c0 Update to isort 5 with Black profile support 2020-08-08 22:39:29 +03:00
Hugo van Kemenade
e42aec8c90 Update Black target to py36 2020-07-27 17:02:10 +03:00
Stanislau Tsitsianok
9a9d3a050a
Fixed tests 2020-06-29 22:49:11 +03:00
Andrew Murray
f5e9252b12 Fixed drawing a jointed line with a sequence of numeric values 2020-04-24 18:48:10 +10:00
Andrew Murray
56f30ef792 Allow explicit zero width to hide outline 2020-01-08 21:55:15 +11:00
Hugo
6f88d8dd6b black --target-version py35 2019-11-02 20:02:07 +02: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
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Andrew Murray
da39d40342
Merge pull request #3978 from radarhere/stroke
Added text stroking
2019-09-06 19:14:49 +10:00
Andrew Murray
e790a4066a
Renamed method
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-09-06 06:18:48 +10:00
Andrew Murray
23872c0645 Do not allow floodfill to extend into negative coordinates 2019-08-12 06:51:16 +10:00
Andrew Murray
f93a5d0972 Added text stroking 2019-07-29 06:40:03 +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
53a7e35004 Format with Black 2019-06-10 18:22:46 +03:00
Ben Yang
8bd4bbb808 implemented language parameter for multiline ImageDraw methods, updated release notes 2019-03-11 20:21:52 -07:00
Andrew Murray
929f7397db Line too long 2018-10-21 18:26:08 +11:00
Andrew Murray
7edca01921 Minor documentation improvement [ci skip] 2018-10-11 19:36:50 +11:00
Andrew Murray
1e305380ae
Merge pull request #3094 from hugovk/add-width-to-shapes
Add line width parameter to rectangle and ellipse-based shapes
2018-09-29 23:21:03 +10:00
Andrew Murray
b5af283732 Added support to floodfill for non-RGB colors 2018-09-26 22:22:17 +10:00
Andrew Murray
f3842460ba Added line joints 2018-09-16 21:29:09 +10:00
Andrew Murray
7b4040f991
Merge pull request #3294 from yo1995/perfperf-improv-ImageDraw-floodfill
Performance improvement of ImageDraw.floodfill()
2018-09-16 12:46:50 +10:00
Hugo
fa14698e66
Merge pull request #3233 from hugovk/PYTHONOPTIMIZE
Fix code for PYTHONOPTIMIZE
2018-09-05 19:57:10 +03:00
yo1995
bb77f62586 fix typo: proceeded -> processed 2018-09-04 21:15:25 -04:00
yo1995
3cf1a4ea87 improved comments and one logic according to PR 3294 discussion 2018-09-04 12:03:20 -04:00
Andrew Murray
5e2d6c951a
Merge branch 'master' into perfperf-improv-ImageDraw-floodfill 2018-09-01 20:58:53 +10:00
Andrew Murray
4a34116be5 Removed duplicate code 2018-09-01 18:30:04 +10:00
Andrew Murray
0411caba67 Catch ValueError when processing the edge of an image 2018-09-01 17:18:13 +10:00
Hugo
d7e4d3db3f Convert assert into exception 2018-08-25 19:06:11 +03:00
yo1995
a221420ec3 fixe typo 2018-08-06 19:36:18 +08:00
yo1995
8676044a27 fix docstring tab 2018-08-06 18:47:49 +08:00
yo1995
24388addb6 feature improvement: improved performance of ImageDraw.floodfill with Python built-in set() datatype. 2018-08-06 18:13:57 +08:00
Hugo
f70f952f85
Merge branch 'master' into add-width-to-shapes 2018-07-14 14:58:48 +03:00
Hugo
5d751572cc
Merge pull request #2922 from radarhere/fill_ink
Skip outline if the draw operation fills with the same colour
2018-07-02 22:19:35 +03:00
Andrew Murray
c2189235af Line too long 2018-07-02 19:26:02 +10:00
Andrew Murray
bf29960283 Fixed multiple spaces after operator 2018-07-02 19:20:48 +10:00
Hugo
d6e3ef85c2 Add width parameter to arc, chord, ellipse, pieslice 2018-07-02 11:26:42 +03:00
Hugo
9dedbff713 Add width parameter to rectangle 2018-07-02 11:21:30 +03:00
Hugo
abae745da1
Merge pull request #3114 from tianyu139/hotfix
Fixed bug in ImageDraw.multiline_textsize()
2018-07-01 21:34:45 +03:00
Andrew Murray
7274636a7e Added coordinate system links in documentation 2018-06-24 14:34:01 +10:00