imagejpeg
(PHP 4, PHP 5, PHP 7, PHP 8)
imagejpeg — Output image to browser or file
Description
imagejpeg() creates a JPEG file from
the given image
.
Parameters
-
image
-
A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().
-
file
-
The path or an open stream resource (which is automatically closed after this function returns) to save the file to. If not set or
null
, the raw image stream will be output directly. -
quality
-
quality
is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default (-1
) uses the default IJG quality value (about 75).
Return Values
Returns true
on success or false
on failure.
However, if libgd fails to output the image, this function returns true
.
Changelog
Version | Description |
---|---|
8.0.0 |
image expects a GdImage
instance now; previously, a resource was expected.
|
Examples
Example #1 Outputting a JPEG image to the browser
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Set the content type header - in this case image/jpeg
header('Content-Type: image/jpeg');
// Output the image
imagejpeg($im);
// Free up memory
imagedestroy($im);
?>
The above example will output something similar to:
Example #2 Saving a JPEG image to a file
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Save the image as 'simpletext.jpg'
imagejpeg($im, 'simpletext.jpg');
// Free up memory
imagedestroy($im);
?>
Example #3 Outputting the image at 75% quality to the browser
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Set the content type header - in this case image/jpeg
header('Content-Type: image/jpeg');
// Skip the to parameter using NULL, then set the quality to 75%
imagejpeg($im, NULL, 75);
// Free up memory
imagedestroy($im);
?>
Notes
Note:
If you want to output Progressive JPEGs, you need to set interlacing on with imageinterlace().
See Also
- imagepng() - Output a PNG image to either the browser or a file
- imagegif() - Output image to browser or file
- imagewbmp() - Output image to browser or file
- imageinterlace() - Enable or disable interlace
- imagetypes() - Return the image types supported by this PHP build