Opened 2 months ago
Closed 2 months ago
#23775 closed defect (bug) (fixed)
WP_Image_Editor Flip Method $horz and $vert arguments are backwards
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | 3.6 |
| Component: | Media | Version: | 3.5.1 |
| Severity: | minor | Keywords: | has-patch |
| Cc: |
Description
The WP_Image_Editor class shows:
/** * @param boolean $horz Horizontal Flip * @param boolean $vert Vertical Flip */ abstract public function flip( $horz, $vert );
But changing the first argument to true flips the image vertically and the second argument, when true, flips the image horizontally.
Both imagemagick and GD are affected.
A fix for class-wp-image-editor-imagick.php would be reversing lines 366 and 369 (flopImage for $horz and flipImage for $vert)
A fix for class-wp-image-editor-gd.php would be reversing $horz and $vert on lines 292-295 like this (fixed):
$sx = $horz ? ($w - 1) : 0; $sy = $vert ? ($h - 1) : 0; $sw = $horz ? -$w : $w; $sh = $vert ? -$h : $h;
I've verified these fixes.
Attachments (1)
Change History (7)
dh-shredder — 2 months ago
comment:1
dh-shredder — 2 months ago
I think the issue here is an understanding on what vertical and horizontal means.
You're right, the current comments make it confusing!
Horizontal means a flip along the horizontal axis.
Vertical means a flip along the vertical axis.
I've attached 23775.diff, which revises the phpdoc to better explain what flips the booleans control.
comment:2
dh-shredder — 2 months ago
- Keywords has-patch added; needs-patch removed
comment:3
markoheijnen — 2 months ago
- Milestone changed from Awaiting Review to 3.6
comment:4
dh-shredder — 2 months ago
- Component changed from General to Media
Nevermind. You are correct! Thanks

Describe Flip Better