Hướng dẫn how to generate image in php? - làm thế nào để tạo hình ảnh trong php?

(Php 4, Php 5, Php 7, Php 8)

ImageCreate - Tạo một hình ảnh dựa trên bảng màu mớiCreate a new palette based image

Sự mô tả

ImageCreate (int $width, int $height): gdimage | false(int $width, int $height): GdImage|false

Nói chung, chúng tôi khuyên bạn nên sử dụng ImageCreatetRuEcolor () thay vì ImageCreate () để xử lý hình ảnh xảy ra trên hình ảnh chất lượng cao nhất có thể. Nếu bạn muốn xuất ra một hình ảnh bảng màu, thì ImageTrueColortOpalette () nên được gọi ngay lập tức trước khi lưu hình ảnh bằng ImagePng () hoặc ImageGif ().imagecreatetruecolor() instead of imagecreate() so that image processing occurs on the highest quality image possible. If you want to output a palette image, then imagetruecolortopalette() should be called immediately before saving the image with imagepng() or imagegif().

Thông số

width

Chiều rộng hình ảnh.

height

Chiều cao hình ảnh.

Trả về giá trị

Trả về một đối tượng hình ảnh thành công, false về lỗi.false on errors.

Thay đổi

Phiên bảnSự mô tả
8.0.0 ImageCreate (int $width, int $height): gdimage | falseGDImage instance now; previously, a resource was returned.

Nói chung, chúng tôi khuyên bạn nên sử dụng ImageCreatetRuEcolor () thay vì ImageCreate () để xử lý hình ảnh xảy ra trên hình ảnh chất lượng cao nhất có thể. Nếu bạn muốn xuất ra một hình ảnh bảng màu, thì ImageTrueColortOpalette () nên được gọi ngay lập tức trước khi lưu hình ảnh bằng ImagePng () hoặc ImageGif ().

Thông số

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>

width

Chiều rộng hình ảnh.

  • height
  • Chiều cao hình ảnh.

Trả về giá trị

Trả về một đối tượng hình ảnh thành công, false về lỗi.

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:

/*********************************************/
/* Fonction: ImageCreateFromBMP              */
/* Author:   DHKold                          */
/* Contact:                  */
/* Date:     The 15th of June 2005           */
/* Version:  2.0B                            */
/*********************************************/
function ImageCreateFromBMP($filename)
{
//Ouverture du fichier en mode binaire
  
if (! $f1 = fopen($filename,"rb")) return FALSE;//1 : Chargement des ent?tes FICHIER
  
$FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
   if (
$FILE['file_type'] != 19778) return FALSE;//2 : Chargement des ent?tes BMP
  
$BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                
'/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                
'/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
  
$BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
   if (
$BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
  
$BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
  
$BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
  
$BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] = 4-(4*$BMP['decal']);
   if (
$BMP['decal'] == 4) $BMP['decal'] = 0;//3 : Chargement des couleurs de la palette
  
$PALETTE = array();
   if (
$BMP['colors'] < 16777216)
   {
   
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
   }
//4 : Cr?ation de l'image
  
$IMG = fread($f1,$BMP['size_bitmap']);
  
$VIDE = chr(0);$res = imagecreatetruecolor($BMP['width'],$BMP['height']);
  
$P = 0;
  
$Y = $BMP['height']-1;
   while (
$Y >= 0)
   {
   
$X=0;
    while (
$X < $BMP['width'])
    {
     if (
$BMP['bits_per_pixel'] == 24)
       
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
     elseif (
$BMP['bits_per_pixel'] == 16)
     { 
       
$COLOR = unpack("n",substr($IMG,$P,2));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 8)
     { 
       
$COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 4)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if ((
$P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 1)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if     ((
$P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
        elseif ((
$P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
        elseif ((
$P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
        elseif ((
$P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
        elseif ((
$P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
        elseif ((
$P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
        elseif ((
$P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
        elseif ((
$P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     else
        return
FALSE;
    
imagesetpixel($res,$X,$Y,$COLOR[1]);
    
$X++;
    
$P += $BMP['bytes_per_pixel'];
    }
   
$Y--;
   
$P+=$BMP['decal'];
   }
//Fermeture du fichier
  
fclose($f1);

return

$res;
}
?>

Thay đổi

Phiên bản

$height0

$height1

$height2

$height3

$height4

Khi thành công, chức năng này trả về một thể hiện gdimage ngay bây giờ; Trước đây, một tài nguyên đã được trả lại.

Ví dụ

$height5

$height6

$height7

Ví dụ #1 Tạo luồng hình ảnh GD mới và xuất hình ảnh.

Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

$height8

Xem thêm

Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

$height9

Xem thêm

Ví dụ

width0

width1

$height7

Ví dụ #1 Tạo luồng hình ảnh GD mới và xuất hình ảnh.

Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

width3

width4

width5

$height7

Xem thêm

ImageDestroy () - Phá hủy hình ảnh

width7

ImageCreatetRueColor () - Tạo hình ảnh màu thật mới

Ví dụ

width8

Ví dụ #1 Tạo luồng hình ảnh GD mới và xuất hình ảnh.

Phiên bản

width9

height0

height1

height2

height3

$height7

Khi thành công, chức năng này trả về một thể hiện gdimage ngay bây giờ; Trước đây, một tài nguyên đã được trả lại.

Ví dụ

height5

height6

height7

height8

Ví dụ #1 Tạo luồng hình ảnh GD mới và xuất hình ảnh.

Trả về một đối tượng hình ảnh thành công, false về lỗi.

height9

false0

false1

$height7

Thay đổi

Phiên bản

false3

false4

false5

false6

false7

false8

false9

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
0

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
1

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
2

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
3

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
4

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
5

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
6

$height7

Khi thành công, chức năng này trả về một thể hiện gdimage ngay bây giờ; Trước đây, một tài nguyên đã được trả lại.

Trả về một đối tượng hình ảnh thành công, false về lỗi.

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
8

header("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>
9

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:0

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:1

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:2

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:3

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:4

Thay đổi

Phiên bản

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:5

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:6

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:7

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:8

to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:9

/*********************************************/
/* Fonction: ImageCreateFromBMP              */
/* Author:   DHKold                          */
/* Contact:                  */
/* Date:     The 15th of June 2005           */
/* Version:  2.0B                            */
/*********************************************/
function ImageCreateFromBMP($filename)
{
//Ouverture du fichier en mode binaire
  
if (! $f1 = fopen($filename,"rb")) return FALSE;//1 : Chargement des ent?tes FICHIER
  
$FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
   if (
$FILE['file_type'] != 19778) return FALSE;//2 : Chargement des ent?tes BMP
  
$BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                
'/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                
'/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
  
$BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
   if (
$BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
  
$BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
  
$BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
  
$BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] = 4-(4*$BMP['decal']);
   if (
$BMP['decal'] == 4) $BMP['decal'] = 0;//3 : Chargement des couleurs de la palette
  
$PALETTE = array();
   if (
$BMP['colors'] < 16777216)
   {
   
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
   }
//4 : Cr?ation de l'image
  
$IMG = fread($f1,$BMP['size_bitmap']);
  
$VIDE = chr(0);$res = imagecreatetruecolor($BMP['width'],$BMP['height']);
  
$P = 0;
  
$Y = $BMP['height']-1;
   while (
$Y >= 0)
   {
   
$X=0;
    while (
$X < $BMP['width'])
    {
     if (
$BMP['bits_per_pixel'] == 24)
       
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
     elseif (
$BMP['bits_per_pixel'] == 16)
     { 
       
$COLOR = unpack("n",substr($IMG,$P,2));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 8)
     { 
       
$COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 4)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if ((
$P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 1)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if     ((
$P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
        elseif ((
$P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
        elseif ((
$P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
        elseif ((
$P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
        elseif ((
$P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
        elseif ((
$P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
        elseif ((
$P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
        elseif ((
$P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     else
        return
FALSE;
    
imagesetpixel($res,$X,$Y,$COLOR[1]);
    
$X++;
    
$P += $BMP['bytes_per_pixel'];
    }
   
$Y--;
   
$P+=$BMP['decal'];
   }
//Fermeture du fichier
  
fclose($f1);
0

$height7

Khi thành công, chức năng này trả về một thể hiện gdimage ngay bây giờ; Trước đây, một tài nguyên đã được trả lại.

Ví dụ

/*********************************************/
/* Fonction: ImageCreateFromBMP              */
/* Author:   DHKold                          */
/* Contact:                  */
/* Date:     The 15th of June 2005           */
/* Version:  2.0B                            */
/*********************************************/
function ImageCreateFromBMP($filename)
{
//Ouverture du fichier en mode binaire
  
if (! $f1 = fopen($filename,"rb")) return FALSE;//1 : Chargement des ent?tes FICHIER
  
$FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
   if (
$FILE['file_type'] != 19778) return FALSE;//2 : Chargement des ent?tes BMP
  
$BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                
'/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                
'/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
  
$BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
   if (
$BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
  
$BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
  
$BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
  
$BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] = 4-(4*$BMP['decal']);
   if (
$BMP['decal'] == 4) $BMP['decal'] = 0;//3 : Chargement des couleurs de la palette
  
$PALETTE = array();
   if (
$BMP['colors'] < 16777216)
   {
   
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
   }
//4 : Cr?ation de l'image
  
$IMG = fread($f1,$BMP['size_bitmap']);
  
$VIDE = chr(0);$res = imagecreatetruecolor($BMP['width'],$BMP['height']);
  
$P = 0;
  
$Y = $BMP['height']-1;
   while (
$Y >= 0)
   {
   
$X=0;
    while (
$X < $BMP['width'])
    {
     if (
$BMP['bits_per_pixel'] == 24)
       
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
     elseif (
$BMP['bits_per_pixel'] == 16)
     { 
       
$COLOR = unpack("n",substr($IMG,$P,2));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 8)
     { 
       
$COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 4)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if ((
$P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 1)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if     ((
$P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
        elseif ((
$P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
        elseif ((
$P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
        elseif ((
$P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
        elseif ((
$P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
        elseif ((
$P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
        elseif ((
$P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
        elseif ((
$P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     else
        return
FALSE;
    
imagesetpixel($res,$X,$Y,$COLOR[1]);
    
$X++;
    
$P += $BMP['bytes_per_pixel'];
    }
   
$Y--;
   
$P+=$BMP['decal'];
   }
//Fermeture du fichier
  
fclose($f1);
2

Ví dụ #1 Tạo luồng hình ảnh GD mới và xuất hình ảnh.

Phiên bản

/*********************************************/
/* Fonction: ImageCreateFromBMP              */
/* Author:   DHKold                          */
/* Contact:                  */
/* Date:     The 15th of June 2005           */
/* Version:  2.0B                            */
/*********************************************/
function ImageCreateFromBMP($filename)
{
//Ouverture du fichier en mode binaire
  
if (! $f1 = fopen($filename,"rb")) return FALSE;//1 : Chargement des ent?tes FICHIER
  
$FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
   if (
$FILE['file_type'] != 19778) return FALSE;//2 : Chargement des ent?tes BMP
  
$BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                
'/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                
'/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
  
$BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
   if (
$BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
  
$BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
  
$BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
  
$BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] = 4-(4*$BMP['decal']);
   if (
$BMP['decal'] == 4) $BMP['decal'] = 0;//3 : Chargement des couleurs de la palette
  
$PALETTE = array();
   if (
$BMP['colors'] < 16777216)
   {
   
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
   }
//4 : Cr?ation de l'image
  
$IMG = fread($f1,$BMP['size_bitmap']);
  
$VIDE = chr(0);$res = imagecreatetruecolor($BMP['width'],$BMP['height']);
  
$P = 0;
  
$Y = $BMP['height']-1;
   while (
$Y >= 0)
   {
   
$X=0;
    while (
$X < $BMP['width'])
    {
     if (
$BMP['bits_per_pixel'] == 24)
       
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
     elseif (
$BMP['bits_per_pixel'] == 16)
     { 
       
$COLOR = unpack("n",substr($IMG,$P,2));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 8)
     { 
       
$COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 4)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if ((
$P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 1)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if     ((
$P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
        elseif ((
$P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
        elseif ((
$P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
        elseif ((
$P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
        elseif ((
$P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
        elseif ((
$P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
        elseif ((
$P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
        elseif ((
$P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     else
        return
FALSE;
    
imagesetpixel($res,$X,$Y,$COLOR[1]);
    
$X++;
    
$P += $BMP['bytes_per_pixel'];
    }
   
$Y--;
   
$P+=$BMP['decal'];
   }
//Fermeture du fichier
  
fclose($f1);
3

/*********************************************/
/* Fonction: ImageCreateFromBMP              */
/* Author:   DHKold                          */
/* Contact:                  */
/* Date:     The 15th of June 2005           */
/* Version:  2.0B                            */
/*********************************************/
function ImageCreateFromBMP($filename)
{
//Ouverture du fichier en mode binaire
  
if (! $f1 = fopen($filename,"rb")) return FALSE;//1 : Chargement des ent?tes FICHIER
  
$FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
   if (
$FILE['file_type'] != 19778) return FALSE;//2 : Chargement des ent?tes BMP
  
$BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                
'/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                
'/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
  
$BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
   if (
$BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
  
$BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
  
$BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
  
$BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] = 4-(4*$BMP['decal']);
   if (
$BMP['decal'] == 4) $BMP['decal'] = 0;//3 : Chargement des couleurs de la palette
  
$PALETTE = array();
   if (
$BMP['colors'] < 16777216)
   {
   
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
   }
//4 : Cr?ation de l'image
  
$IMG = fread($f1,$BMP['size_bitmap']);
  
$VIDE = chr(0);$res = imagecreatetruecolor($BMP['width'],$BMP['height']);
  
$P = 0;
  
$Y = $BMP['height']-1;
   while (
$Y >= 0)
   {
   
$X=0;
    while (
$X < $BMP['width'])
    {
     if (
$BMP['bits_per_pixel'] == 24)
       
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
     elseif (
$BMP['bits_per_pixel'] == 16)
     { 
       
$COLOR = unpack("n",substr($IMG,$P,2));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 8)
     { 
       
$COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 4)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if ((
$P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 1)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if     ((
$P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
        elseif ((
$P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
        elseif ((
$P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
        elseif ((
$P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
        elseif ((
$P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
        elseif ((
$P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
        elseif ((
$P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
        elseif ((
$P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     else
        return
FALSE;
    
imagesetpixel($res,$X,$Y,$COLOR[1]);
    
$X++;
    
$P += $BMP['bytes_per_pixel'];
    }
   
$Y--;
   
$P+=$BMP['decal'];
   }
//Fermeture du fichier
  
fclose($f1);
4

$height7

Khi thành công, chức năng này trả về một thể hiện gdimage ngay bây giờ; Trước đây, một tài nguyên đã được trả lại.

Ví dụ

/*********************************************/
/* Fonction: ImageCreateFromBMP              */
/* Author:   DHKold                          */
/* Contact:                  */
/* Date:     The 15th of June 2005           */
/* Version:  2.0B                            */
/*********************************************/
function ImageCreateFromBMP($filename)
{
//Ouverture du fichier en mode binaire
  
if (! $f1 = fopen($filename,"rb")) return FALSE;//1 : Chargement des ent?tes FICHIER
  
$FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
   if (
$FILE['file_type'] != 19778) return FALSE;//2 : Chargement des ent?tes BMP
  
$BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                
'/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                
'/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
  
$BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
   if (
$BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
  
$BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
  
$BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
  
$BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] = 4-(4*$BMP['decal']);
   if (
$BMP['decal'] == 4) $BMP['decal'] = 0;//3 : Chargement des couleurs de la palette
  
$PALETTE = array();
   if (
$BMP['colors'] < 16777216)
   {
   
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
   }
//4 : Cr?ation de l'image
  
$IMG = fread($f1,$BMP['size_bitmap']);
  
$VIDE = chr(0);$res = imagecreatetruecolor($BMP['width'],$BMP['height']);
  
$P = 0;
  
$Y = $BMP['height']-1;
   while (
$Y >= 0)
   {
   
$X=0;
    while (
$X < $BMP['width'])
    {
     if (
$BMP['bits_per_pixel'] == 24)
       
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
     elseif (
$BMP['bits_per_pixel'] == 16)
     { 
       
$COLOR = unpack("n",substr($IMG,$P,2));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 8)
     { 
       
$COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 4)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if ((
$P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 1)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if     ((
$P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
        elseif ((
$P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
        elseif ((
$P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
        elseif ((
$P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
        elseif ((
$P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
        elseif ((
$P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
        elseif ((
$P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
        elseif ((
$P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     else
        return
FALSE;
    
imagesetpixel($res,$X,$Y,$COLOR[1]);
    
$X++;
    
$P += $BMP['bytes_per_pixel'];
    }
   
$Y--;
   
$P+=$BMP['decal'];
   }
//Fermeture du fichier
  
fclose($f1);
6

Bước đầu tiên để tạo hình ảnh trong PHP là gì?

Tạo hình ảnh Điều đầu tiên mã thực hiện là gọi hàm ImageCreate () với kích thước của hình ảnh, cụ thể là chiều rộng và chiều cao của nó theo thứ tự đó. Hàm này trả về một định danh tài nguyên cho hình ảnh mà chúng tôi lưu trong $ my_img. Định danh là cần thiết cho tất cả các hoạt động của chúng tôi trên hình ảnh.call the imagecreate() function with the dimensions of the image, namely its width and height in that order. This function returns a resource identifier for the image which we save in $my_img . The identifier is needed for all our operations on the image.

Làm thế nào tôi có thể tạo một hình ảnh động?

Làm thế nào để tạo một hình ảnh động..
Tạo hình ảnh động bằng cách sử dụng bất kỳ trình duyệt nào, không cần phần mềm đặc biệt !.
Hyper cá nhân hóa hình ảnh của bạn;Thêm các lớp động cập nhật khi đang bay ..
Chèn ảnh chụp màn hình trang web, logo công ty, hình ảnh hồ sơ, ảnh chụp màn hình ứng dụng, văn bản tùy chỉnh và nhiều hơn nữa ..

Bạn có thể lặp lại một hình ảnh trong PHP?

Bạn không thể lặp lại một hình ảnh bằng PHP.Echo chỉ dành cho chuỗi.Tuy nhiên, bạn có thể lặp lại nguồn hình ảnh - img src = "" Chỉ cần đảm bảo bạn đặt phần mở rộng hình ảnh ở cuối tệp bạn đang lấy.. echo is for strings only. However, you can echo the image source - img src="" Just make sure you put the picture extension at the end of the file you are grabbing.

Hàm hình ảnh PHP là gì?

Hàm tạo () là một hàm PHP sẵn có khác được sử dụng để tạo hình ảnh mới.Hàm trả về hình ảnh đã cho trong một kích thước cụ thể.Chúng ta cần xác định chiều rộng và chiều cao của hình ảnh cần thiết.another inbuilt PHP function mainly used to create a new image. The function returns the given image in a specific size. We need to define the width and height of the required image.