将WP_Image_Editor中的流图像映射到浏览器。
原型
wp_stream_image( WP_Image_Editor $image, string $mime_type, int $attachment_id )
参数
$image
(WP_Image_Editor)
(Required)
图像编辑器实例。
$mime_type
(string)
(Required)
图像的mime类型。
$attachment_id
(int)
(Required)
图像的附件发布ID。
返回值
(bool)
成功时是真的,失败时是假的。
源文件
路径:wp-admin/includes/image-edit.php
<?php
...
function wp_stream_image( $image, $mime_type, $attachment_id ) {
if ( $image instanceof WP_Image_Editor ) {
/**
* Filters the WP_Image_Editor instance for the image to be streamed to the browser.
*
* @since 3.5.0
*
* @param WP_Image_Editor $image The image editor instance.
* @param int $attachment_id The attachment post ID.
*/
$image = apply_filters( 'image_editor_save_pre', $image, $attachment_id );
if ( is_wp_error( $image->stream( $mime_type ) ) )
return false;
return true;
} else {
_deprecated_argument( __FUNCTION__, '3.5.0', __( '$image needs to be an WP_Image_Editor object' ) );
/**
* Filters the GD image resource to be streamed to the browser.
*
* @since 2.9.0
* @deprecated 3.5.0 Use image_editor_save_pre instead.
*
* @param resource $image Image resource to be streamed.
* @param int $attachment_id The attachment post ID.
*/
$image = apply_filters( 'image_save_pre', $image, $attachment_id );
switch ( $mime_type ) {
case 'image/jpeg':
header( 'Content-Type: image/jpeg' );
return imagejpeg( $image, null, 90 );
case 'image/png':
header( 'Content-Type: image/png' );
return imagepng( $image );
case 'image/gif':
header( 'Content-Type: image/gif' );
return imagegif( $image );
default:
return false;
}
}
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/wp_stream_image/