Strips all image meta except color profiles from an image.
Source
protected function strip_meta() {
if ( ! is_callable( array( $this->image, 'getImageProfiles' ) ) ) {
return new WP_Error(
'image_strip_meta_error',
sprintf(
/* translators: %s: ImageMagick method name. */
__( '%s is required to strip image meta.' ),
'<code>Imagick::getImageProfiles()</code>'
)
);
}
if ( ! is_callable( array( $this->image, 'removeImageProfile' ) ) ) {
return new WP_Error(
'image_strip_meta_error',
sprintf(
/* translators: %s: ImageMagick method name. */
__( '%s is required to strip image meta.' ),
'<code>Imagick::removeImageProfile()</code>'
)
);
}
/*
* Protect a few profiles from being stripped for the following reasons:
*
* - icc: Color profile information
* - icm: Color profile information
* - iptc: Copyright data
* - exif: Orientation data
* - xmp: Rights usage data
*/
$protected_profiles = array(
'icc',
'icm',
'iptc',
'exif',
'xmp',
);
try {
// Strip profiles.
foreach ( $this->image->getImageProfiles( '*', true ) as $key => $value ) {
if ( ! in_array( $key, $protected_profiles, true ) ) {
$this->image->removeImageProfile( $key );
}
}
} catch ( Exception $e ) {
return new WP_Error( 'image_strip_meta_error', $e->getMessage() );
}
return true;
}
Changelog
Version | Description |
---|---|
4.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.