Home >Backend Development >PHP Problem >Specific steps to create images in php

Specific steps to create images in php

藏色散人
藏色散人Original
2021-07-02 09:04:203103browse

php specific steps to create an image: 1. Set the header and tell the browser the MIME type to be generated; 2. Create a canvas; 3. Perform color management; 4. Fill color; 5. Draw graphics and Text; 6. Output image; 7. Destroy image.

Specific steps to create images in php

The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer

Specific steps for creating images with PHP

1. Set the header and tell the browser the MIME type you want to generate

There are three types in total:

  • header('content-type:image/png')
  • header ( 'content-type: image/gif');
  • header ( 'content-type: image/jpeg' );
<?php header("content-type: image/png");

2. Create a canvas, and subsequent operations will be based on this canvas area

resource imagecreatetruecolor (int $width, int $height) Create a new true color image
Returns an image identifier, representing a black image with size width and height.
Return value: Return the image resource after success, return FALSE after failure.

$width = 200;
$height = 100;
$img = imagecreatetruecolor($width,$height);

3. Color management

**int imagecolorallocate (resource $image, int $red, int $green, int $blue)**Assign color to an image
red , green and blue are the red, green and blue components of the desired color respectively. These parameters are integers from 0 to 255 or hexadecimal 0x00 to 0xFF

$color = imagecolorallocate($img,0xcc,0xcc,0xcc); // 灰色

4. Fill color

bool imagefill ( resource $image , int $x , int $ y , int $color )
The image coordinates x and y (the upper left corner of the image is 0, 0) are filled with color (that is, all points with the same color as x and y and adjacent points will be be filled).

imagefill($img,0,0,$color);

5. Draw graphics and text

  1. imagesetpixel() Use color in the image image at the x and y coordinates (the upper left corner of the image is 0, 0) Draw a dot on .
    bool imagesetpixel ( resource $image , int $x , int $y , int $color )
    Example: Draw 100 points randomly on the canvas
for ($i= 0; $i < 100; $i++) { 
	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
	$x = rand(0,$width);
	$y = rand(0,$height);
	imagesetpixel($img, $x, $y, $color);
}
  1. imageline() Use color color to draw a line segment in the image image from coordinates x1, y1 to x2, y2 (the upper left corner of the image is 0, 0) .
    bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color ) Example: randomly draw 10 line segments on the canvas
  2. for ($i= 0; $i < 10; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	$x1 = rand(0,$width);
    	$y1 = rand(0,$height);
    	imageline($img, $x, $y, $x1, $y1,$color);
    }
  1. imagerectangle() Use col color to draw a rectangle in the image, the coordinates of its upper left corner are x1, y1, and the coordinates of the lower right corner are is x2, y2. The upper left corner of the image has coordinates 0, 0.
bool imagerectangle ( resource $image , intbool imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

    imagefilledrectangle()
  1. Draw a rectangle filled with color in the image image. The coordinates of its upper left corner are x1, y1 and the coordinates of its lower right corner are x2 , y2 . 0, 0 is the upper-left corner of the image.
bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

##Draw text

    array imagettftext ( resource $image , float $size , float $anglearray imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text)

  1. size: The size of the font. Depending on the GD version, it is the pixel size (GD1) or point (point) size (GD2). angle: The angle expressed in the angle system, 0 degrees means the text is read from left to right. A higher value means counterclockwise rotation. For example, 90 degrees means the text is read from bottom to top. By x , the coordinate represented by y defines the base point of the first character (probably the lower left corner of the character).
    color: color index
    fontfile: is the path to the TrueType font you want to use. (From mine Find it in the Windows fonts folder in the C drive of your computer)
    text: UTF-8 encoded text string.

    $color = imagecolorallocate($img,154, 75, 65));
    $font = "simsunb.ttf";
    $str = "hello , how are you?";
    imagettftext($img, 30, 45, $x, $y, $color, $font, $str);

    6. Output image
Three ways :

bool imagepng ( resource $image [, string $filename ] )

Output the GD image stream (image) in PNG format to the standard output (usually the browser), or if using filename If a filename is given, output it to that file.
  • bool imagegif ( resource $image [, string $filename ] )
  • bool imagejpeg ( resource $image [, string $filename [, int
  • $quality ]])
  • imagepng($img);

    7. Destroy the image

bool imagedestroy (resource $image)

Release the memory associated with the image

imagedestroy($img);

  推荐学习:《PHP视频教程

The above is the detailed content of Specific steps to create images in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn