Mike Schroder
2656dff5ad
Media: Optimize Imagick settings for quality and filesize
...
- Resamples and sharpens larger images before resize.
- Uses imagick::FILTER_TRIANGLE for a smoother resize.
- Introduces `WP_Image_Editor_Imagick::thumbnail_image()` protected method to efficiently resize images. Similar to the functionality of Imagick's `thumbnailImage()`.
- Introduces `WP_Image_Editor_Imagick::strip_meta()` protected method and `image_strip_meta` filter that, by default, strip image profiles to reduce file size, while leaving color profiles intact.
See: #33642 , #30402 , #28634 .
Props: joemcgill, dnewton, mikeschroder.
Built from https://develop.svn.wordpress.org/trunk@36700
git-svn-id: http://core.svn.wordpress.org/trunk@36667 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-24 22:51:26 +00:00
Scott Taylor
d8eacd51d8
Media: add a new image size, `medium_large`. Bumps db version to add new options.
...
Adds unit tests.
Props DH-Shredder, joemcgill, azaozz.
Fixes #34196 .
Built from https://develop.svn.wordpress.org/trunk@35479
git-svn-id: http://core.svn.wordpress.org/trunk@35443 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-31 20:50:25 +00:00
Drew Jaynes
b1b3fc5deb
Docs: Re-clarify the `$sizes[ $size ]` section of the hash notations for `WP_Image_Editor_GD::multi_resize()` and `WP_Image_Editor_Imagick::multi_resize()` as not fully-optional.
...
The `$width` value is optional if `$height` is specified, and vice versa. The `$crop` value is always optional and defaults to false.
Props dh-shredder.
See #32246 . See [35061] and [35062].
Built from https://develop.svn.wordpress.org/trunk@35063
git-svn-id: http://core.svn.wordpress.org/trunk@35028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 16:34:23 +00:00
Drew Jaynes
041e3dd285
Docs: Fix hash notation syntax for the `$sizes[ $size ]` section in the DocBlock for `WP_Image_Editor_Imagick::multi_resize()`.
...
See #32246 .
Built from https://develop.svn.wordpress.org/trunk@35062
git-svn-id: http://core.svn.wordpress.org/trunk@35027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 16:27:24 +00:00
Dominik Schilling
93a5af5753
Image Editor: Merge two error strings.
...
Props pavelevap.
See #22623 .
Built from https://develop.svn.wordpress.org/trunk@34841
git-svn-id: http://core.svn.wordpress.org/trunk@34806 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-05 22:40:25 +00:00
Scott Taylor
84da11d918
Pass `false` as the 2nd argument to `class_exists()` to disable autoloading and to not cause problems for those who define `__autoload()`.
...
Fixes #20523 .
Built from https://develop.svn.wordpress.org/trunk@34348
git-svn-id: http://core.svn.wordpress.org/trunk@34312 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 03:52:25 +00:00
Sergey Biryukov
3fb3d2a762
Replace `@returns` with `@return` in PHP docblocks.
...
props kraftbj.
fixes #32865 .
Built from https://develop.svn.wordpress.org/trunk@33052
git-svn-id: http://core.svn.wordpress.org/trunk@33023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-02 21:05:24 +00:00
Scott Taylor
a0e373ef80
For doc block types, favor `bool` over the few remaining `boolean`s
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32964
git-svn-id: http://core.svn.wordpress.org/trunk@32935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:03:25 +00:00
Scott Taylor
5c6b63d3a6
`if` is a statment, not a function.
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32800
git-svn-id: http://core.svn.wordpress.org/trunk@32771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-16 20:01:25 +00:00
Scott Taylor
19a3aacc94
Add `@static*` annotations where they are missing.
...
Initialize all static vars that are not, most to `null`.
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32650
git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
Drew Jaynes
7a7df47087
Add a proper description comment for the `WP_Image_Editor_Imagick->$image` property.
...
See [30180]. See #30224 .
Built from https://develop.svn.wordpress.org/trunk@32555
git-svn-id: http://core.svn.wordpress.org/trunk@32525 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-23 19:20:24 +00:00
Scott Taylor
bf43be3e9e
Add missing doc blocks to `wp-image-editor*.php`.
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32546
git-svn-id: http://core.svn.wordpress.org/trunk@32516 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-22 06:18:25 +00:00
Scott Taylor
dbc38ea246
In the `->multi_resize()` method of the `WP_Image_Editor` subclasses, when looping through potential crops, we need to make sure the crop isn't the exact same dimensions as the original image before copying it as a new crop.
...
This ensures that we don't save multiple copies of the same image.
Supposedly broke in [30639], but this logic was always missing. When I tested reverting [30639], there were still 2 files being created.
Fixes #31296 .
Built from https://develop.svn.wordpress.org/trunk@31576
git-svn-id: http://core.svn.wordpress.org/trunk@31557 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-27 19:38:27 +00:00
Scott Taylor
5547115dc2
Fix some `@param` docs that have chars too close them.
...
Add `@property` annotations to `WP_User` and `WP_Post`.
Remove erroneous `@param`s from image editor class methods.
Officially add the property `$_column_headers` to `WP_List_Table`.
See #30799 .
Built from https://develop.svn.wordpress.org/trunk@31127
git-svn-id: http://core.svn.wordpress.org/trunk@31108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-10 06:57:22 +00:00
Scott Taylor
42f5acd869
Improve some docs for `@param`. Remove an unneeded `$wpdb` global import.
...
See #30799 .
Built from https://develop.svn.wordpress.org/trunk@30979
git-svn-id: http://core.svn.wordpress.org/trunk@30965 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-20 20:56:22 +00:00
Scott Taylor
e02c724249
`WP_Image_Editor_GD` and `WP_Image_Editor_Imagick` should specify type in a doc block for the `$image` property, instead of inferring `bool` and `null`.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30180
git-svn-id: http://core.svn.wordpress.org/trunk@30180 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-03 02:38:23 +00:00
Sergey Biryukov
221db8fd8d
Fix setting default quality in WP_Image_Editor.
...
props markoheijnen.
fixes #29856 for trunk.
Built from https://develop.svn.wordpress.org/trunk@29834
git-svn-id: http://core.svn.wordpress.org/trunk@29598 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-04 13:12:15 +00:00
Scott Taylor
cf95c6ecc2
Add `->get_quality()` method to `WP_Image_Editor` class.
...
Adds unit tests.
Props markoheijnen.
Fixes #28154 .
Built from https://develop.svn.wordpress.org/trunk@28879
git-svn-id: http://core.svn.wordpress.org/trunk@28678 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-28 03:50:15 +00:00
Scott Taylor
df8a090193
Add missing access modifiers to methods/members in `WP_Image_Editor_*` classes.
...
See #27881 , #22234 .
Built from https://develop.svn.wordpress.org/trunk@28513
git-svn-id: http://core.svn.wordpress.org/trunk@28339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 05:53:14 +00:00
Scott Taylor
85731fc99b
In `multi_resize()` image editor methods, assert that `null` can only be passed for one of the arguments, not both. Add a lot more unit test assertions to ensure this.
...
Props pbearne, DH-Shredder.
Fixes #26823 .
Built from https://develop.svn.wordpress.org/trunk@27794
git-svn-id: http://core.svn.wordpress.org/trunk@27630 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-27 20:40:17 +00:00
Ryan Boren
07c16fd23c
The Pinking Shears stir from their slumber, awakened by what may seem, to those
...
innocent in the ways of The Shears, a triviality, a nothing-of-consequence. But there are consequences indeed for recklessly trailing your whitespace. Naturally, they a dire!
One, two! One, two! And through and through
The Pinking Shears went snicker-snack!
They plucked your tail and with your space
They went sniksnuking back.
Let me tell you, that can be uncomfortable, so always pre-sniksnuk your trailing whites. May The Shears be with you.
Built from https://develop.svn.wordpress.org/trunk@26851
git-svn-id: http://core.svn.wordpress.org/trunk@26738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-11 19:49:11 +00:00
Andrew Nacin
feedbcde87
Improvements to image quality handling in the image editor classes.
...
props markoheijnen, DH-Shredder.
fixes #25721 .
Built from https://develop.svn.wordpress.org/trunk@26645
git-svn-id: http://core.svn.wordpress.org/trunk@26535 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-04 22:49:10 +00:00
Drew Jaynes
4ffec6be75
Improve inline documentation for the `multi_resize()` method in `WP_Image_Editor`, `WP_Image_Editor_GD`, and `WP_Image_Editor_Imagick`.
...
Props paolal for the initial patch.
Fixes #25530 .
Built from https://develop.svn.wordpress.org/trunk@25728
git-svn-id: http://core.svn.wordpress.org/trunk@25641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-08 17:19:09 +00:00
Andrew Nacin
21767e446e
Fix non-square rotations when using the Imagick image editor.
...
props DH-Shredder.
fixes #22663 .
Built from https://develop.svn.wordpress.org/trunk@25636
git-svn-id: http://core.svn.wordpress.org/trunk@25553 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-28 06:37:11 +00:00
Andrew Nacin
25e9adef27
Remove debug.
...
git-svn-id: http://core.svn.wordpress.org/trunk@24766 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-22 17:13:41 +00:00
Andrew Nacin
35eec2dd57
Confirm we are dealing with an Imagick object. see #24539 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24765 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-22 17:01:00 +00:00
Mark Jaquith
cc3bd4bca1
@-silence an Imagick call that causes a warning in PHP 5.4.
...
props DH-Shredder. fixes #24539 .
git-svn-id: http://core.svn.wordpress.org/trunk@24568 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-05 18:43:45 +00:00
Andrew Nacin
feffc2716f
Image editors: multi_resize() should require height and width. Crop is now optional and defaults to false. props DH-Shredder. fixes #23884 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-22 20:28:05 +00:00
Ryan Boren
87db798028
Clarify phpdoc for the vertical and horizontal arguments to the flip() method in WP_Image_Editor*.
...
Props dh-shredder
fixes #23775
git-svn-id: http://core.svn.wordpress.org/trunk@23750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-19 03:30:04 +00:00
Andrew Nacin
aac3ea45f3
Only unset() after we have confirmed we are not dealing with a WP_Error. props DH-Shredder. fixes #22824 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@23133 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-09 17:02:22 +00:00
Andrew Nacin
8b20551951
Image editors: After cropping, request new sizes from the image. If we rely on the values passed in, they may be floats. We must see what the image results in.
...
Cast in update_size() for sanity.
props DH-Shredder.
fixes #22779 .
git-svn-id: http://core.svn.wordpress.org/trunk@23103 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 07:56:04 +00:00
Andrew Nacin
b20c0a5bd5
Image editor doc fixes. props DH-Shredder. see #6821 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@23038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 19:42:28 +00:00
Ryan Boren
63539ff739
Increase the PHP memory_limit to WP_MAX_MEMORY_LIMIT in WP_Image_Editor_Imagick.
...
Props DH-Shredder
fixes #22699
git-svn-id: http://core.svn.wordpress.org/trunk@22997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 19:44:58 +00:00
Andrew Nacin
01e11b6b23
Explicitly check for version 2.2.0 or higher of the Imagick PHP module, to ensure we can call queryFormats() statically. props DH-Shredder, fixes #22308 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@22904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-28 21:41:44 +00:00
Ryan Boren
1afc32e84a
Clean up WP_Image_Editor_Imagick::test(). Props DH-Shredder. see #22543
...
git-svn-id: http://core.svn.wordpress.org/trunk@22864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-27 14:52:24 +00:00
Ryan Boren
e52a437bc2
More feature detection in WP_Image_Editor_Imagick::test().
...
Check existence of setIteratorIndex().
Props DH-Shredder, markoheijnen
see #22543
git-svn-id: http://core.svn.wordpress.org/trunk@22849 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-26 22:40:34 +00:00
Andrew Nacin
9120cf3375
WP_Image_Editor: the last stand.
...
* Have wp_get_image_editor() rather than WP_Image_Editor::get_instance(). Having static factory methods would be less confusing if there weren't also static methods tied to individual editor implementations.
* Lazy-load the WP_Image_Editor base class and editor implementations.
* Have WP_Image_Editor_GD::supports_mime_type() actually check which types it supports.
* Deprecate gd_edit_image_support() in favor of wp_image_editor_supports().
props DH-Shredder, scribu, markoheijnen. fixes #22356 . see #6821 .
git-svn-id: http://core.svn.wordpress.org/trunk@22817 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 09:52:16 +00:00
Ryan Boren
6472f6d39c
Add abstract methods back to WP_Image_Editor and refresh phpdoc.
...
Props DH-Shredder, markoheijnen, kurtpayne, nacin
see #6821
git-svn-id: http://core.svn.wordpress.org/trunk@22619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-16 22:02:21 +00:00
Andrew Nacin
c87451499b
Require Imagick 2.1.1 or greater, based on whether the queryFormats() method can be called statically.
...
props markoheijnen, DH-Shredder. fixes #22308 .
git-svn-id: http://core.svn.wordpress.org/trunk@22581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-14 22:19:32 +00:00
Andrew Nacin
78f0c0a9df
Revert [22421]. see #6821 . see #22308 . see #22419 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@22549 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-12 07:47:41 +00:00
Ryan Boren
31e669df5a
Pass an attachment ID, not a file path, to _load_image_to_edit_path() from wp_crop_image(). This fixes handling of attachments that require url fopen to access the image.
...
Allow passing urls instead of just file paths to WP_Image_Editor_Imagick::load() and WP_Image_Editor_GD::load() so that attachments requiring URL fopen can be handled.
see #6821
git-svn-id: http://core.svn.wordpress.org/trunk@22538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 20:42:27 +00:00
Ryan Boren
d3463e4aea
WP_Image_Editor improvements.
...
* Make test() and supports_mime_type() static.
* Add required_methods argument to get_instance(). Allows requesting an implementation that has certain methods/capabilities.
* Whitespace cleanup
Props markoheijnen
see #6821
git-svn-id: http://core.svn.wordpress.org/trunk@22510 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 19:38:54 +00:00
Andrew Nacin
4a6d2bbc00
In WP_Image_Editor / wp_load_image(), use is_file() rather than file_exists() so we do not accidentally load a directory.
...
props benkulbertis, DH-Shredder, scribu.
fixes #17814 .
git-svn-id: http://core.svn.wordpress.org/trunk@22463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-08 02:02:03 +00:00
Ryan Boren
15f0f2524e
Call Imagick::queryformats() non-statically to preserve back compat with older versions of Imagick.
...
Props mpvanwinkle77
fixes #22308
see #6821
git-svn-id: http://core.svn.wordpress.org/trunk@22421 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-07 17:50:38 +00:00
Ryan Boren
4d4d747adb
Avoid Strict Standards warnings. Props markoheijnen. see #6821
...
git-svn-id: http://core.svn.wordpress.org/trunk@22119 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-04 21:59:36 +00:00
Andrew Nacin
5acfb5564b
Don't declare the argument as optional for WP_Image_Editor_Imagick::supports_mime_type(), avoiding an error with inheritance. props SergeyBiryukov, fixes #22073 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@22098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-02 03:33:07 +00:00
Ryan Boren
b4d0be2d1a
Introduce WP_Image_Editor, WP_Image_Editor_Imagick, and WP_Image_Editor_GD. Abstracts image editing API and adds support for ImageMagick.
...
Props DH-Shredder, kurtpayne, markoheijnen
see #6821
git-svn-id: http://core.svn.wordpress.org/trunk@22094 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-01 20:59:06 +00:00