PHP Create text image ทดสอบการสร้างรูปภาพและเขียนข้อความลงในรูปภาพ และการกำหนดรูปแบบของ Font(Create text in images)
PHP & GD
Sample 1 เป็นการเขียนข้อความลงในรูปภาพ
<?php
echo "<img src=MyResize/image.png>";
$images = ImageCreate(300,200);
$color = ImageColorAllocate($images,255,0,0);
$photo = ImageColorAllocate($images,0,0,0);
ImageRectangle($images, 0, 0, 299, 199, $photo);
ImageString($images, 5, 10, 20, "www.ThaiCreate.Com Version 2009", $photo);
ImageString($images, 5, 10, 40, "Community By @W_IN", $photo);
ImageStringUp($images, 5, 10, 190, "My Name is Win", $photo);
ImagePng($images,"MyResize/image.png");
ImageDestroy($images);
?>
Sample 2 เป็นการเรียกใช้งาน Font จากภายนอกครับ โดย Font จะต้องอยู่ใน Path ด้วย
<?php
echo "<img src=MyResize/image.png>";
$images = ImageCreate(300,200);
$color = ImageColorAllocate($images,255,0,0);
$photo = ImageColorAllocate($images,0,0,0);
ImageRectangle($images, 0, 0, 299, 199, $photo);
$text = 'My Name Is Win';
$font = 'ANGSAZ.TTF';
$white = ImageColorAllocate($images, 255, 255, 255);
$blue = ImageColorAllocate($images, 0, 0, 255);
ImagettfText($images, 20, 0, 11, 21, $blue, $font, $text);
ImagePng($images,"MyResize/image.png");
ImageDestroy($images);
?>
Sample 3 ตัวอย่างการจัดข้อความให้อยู่ตรงกลางของรูปภาพ
<?php
$text = "ThaiCreate.Com";
$font_size = 15;
$height = 200;
$width = 400;
$im = ImageCreate($width, $height);
$grey = ImageColorAllocate($im, 230, 230, 230);
$black = ImageColorAllocate($im, 0, 0, 0);
$text_bbox = ImageTTFBBox($font_size, 0, "ANGSAZ.TTF", $text);
$image_centerx = $width / 2;
$image_centery = $height / 2;
$text_x = $image_centerx - round(($text_bbox[4]/2));
$text_y = $image_centery;
ImageTTFText($im, $font_size, 0, $text_x, $text_y, $black, "ANGSAZ.TTF", $text);
ImagePng($im,"MyResize/image.png");
ImageDestroy ($im);
echo "<img src=MyResize/image.png>";
?>
Sample 4 ตัวอย่างการจัดข้อความให้อยู่ตรงกลางและกำหนดให้ขนาดของ Font จะต้องไม่เกินขอบขนาดของรูปภาพ
<?php
$height = 200;
$width = 200;
$fontsize = 25;
if (!isset($String))
$String = "Welcome To ThaiCreate.Com";
$im = imagecreate($width, $height );
$blue = imagecolorallocate($im,0,0,255);
$green = imagecolorallocate($im,0,255,0);
$font = "ANGSAZ.TTF";
$textwidth = $width;
while (1){
$box = imageTTFbbox( $fontsize, 0, $font, $String );
$textwidth = abs( $box[2] );
$textbodyheight = (abs($box[7]))-2;
if ( $textwidth < $width - 20 )
break;
$fontsize--;
}
$Xcenter = (int)($width/2 );
$Ycenter = (int)($height/2 );
imageTTFtext($im, $fontsize, 0,(int) ($Xcenter-($textwidth/2)),(int)($Ycenter+(($textbodyheight)/2) ),
$green, $font, $String );
imagegif($im,"MyResize/image.png");
echo "<img src=MyResize/image.png>";
?>
Sample 5 ตัวอย่างการจัดข้อความให้อยู่ตำแหน่งริมซ้ายด้านล่าง
<?php
$text = "ThaiCreate.Com";
$font_size = 15;
$height = 200;
$width = 400;
$im = ImageCreate($width, $height);
$grey = ImageColorAllocate($im, 230, 230, 230);
$black = ImageColorAllocate($im, 0, 0, 0);
$text_bbox = ImageTTFBBox($font_size, 0, "ANGSAZ.TTF", $text);
$image_centerx = $width / 2;
$image_centery = $height / 2;
$text_x = $width - ($width - 20);
$text_y = $height - 20;
ImageTTFText($im, $font_size, 0, $text_x, $text_y, $black, "ANGSAZ.TTF", $text);
ImagePng($im,"MyResize/image.png");
ImageDestroy($im);
echo "<img src=MyResize/image.png>";
?>
Link แนะนำ ที่ควรศึกษา
Reference : https://www.thaicreate.com/php-manual/ref.image.html
|