wp_stream_image( WP_Image_Editor $image, string $mime_type, int $attachment_id )

Streams image in WP_Image_Editor to browser.


Parameters

$image

(WP_Image_Editor) (Required) The image editor instance.

$mime_type

(string) (Required) The mime type of the image.

$attachment_id

(int) (Required) The image's attachment post ID.


Return

(bool) True on success, false on failure.


Source

File: wp-admin/includes/image-edit.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 WP-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__, 'WP-3.5.0', __( '$image needs to be an WP_Image_Editor object' ) );

		/**
		 * Filters the GD image resource to be streamed to the browser.
		 *
		 * @since WP-2.9.0
		 * @deprecated WP-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;
		}
	}
}