imagecopymerge()
ใน PHP มีฟังก์ชันมากที่น่าสนใจและได้รับความนิยม แต่ละฟังก์ชันก็มีความสามารถพิเศษที่แตกต่างกันไป และยังมีฟังก์ชันที่ทำงานกับรูปภาพมากมายเพื่อรูปภาพออกมาตามที่เราต้องการแม้กระทั้งเรื่องการจัดการสี,นามสกุล และอื่นๆ เช่นฟังก์ชัน imagecreatefromstring() , imagedestroy() สำหรับวันนี้เรามาเจอกันกับฟังก์ชัน imagecopymerge()
imagecopymerge() เป็นฟังก์ชัน คัดลอกและผสานส่วนหนึ่งของภาพ ในที่นี้คือจะผสานภาพทั้งสองเป็นหนึ่งเดียว ซึ่งเราสามารถกำหนดพิกัดต่างๆ ความความสูงตามที่เราต้องการได้
รูปแบบ syntex
imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct ) : bool
dst_im : ทรัพยากรลิงค์รูปภาพปลายทาง
src_im : แหล่งข้อมูลลิงค์รูปภาพ
dst_x : พิกัด x ของจุดปลายทาง
dst_y : พิกัด y ของจุดปลายทาง
src_x : พิกัด x ของจุดต้นทาง
src_y : พิกัด y ของจุดต้นทาง
src_w : ความกว้างของแหล่งที่มา
src_h : ความสูงของแหล่งที่มา
pct : ภาพสองภาพจะถูกรวมตามpct ช่วงตั้งแต่ 0 ถึง 100 เมื่อpct= 0 จะไม่มีการดำเนินการใดเมื่อฟังก์ชันนี้มีการทำงานเหมือนกันกับภาพหน้าจอ (100)สำหรับภาพแบบพาเล็ทยกเว้นการละเว้นส่วนประกอบอัลฟ่า สำหรับภาพสีจริง
ตัวอย่างโค้ด
<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');
// Copy and merge
imagecopymerge($dest, $src, 10, 10, 0, 0, 100, 47, 75);
// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);
?>
ผลลัพธ์ที่ได้
จะเห็นได้ว่า ภาพสองภาพจะถูกรวมกัน หรือผสานรวมกัน เป็นหนึ่งภาพ จะเกิดการซ้อนกันสองภาพในรูปเดียวกัน เราสามารถนำฟังก์ชันนี้มาใช้ประโยชต์ได้เพื่อสร้างรูปภาพโดยใช้รูปภาพที่อยูมาผสานกันได้ ยังมรฟังก์ชัน imagegif() ที่อาจจะต้องเรียนรู้เพิ่มเติมได้เพราะเราได้นำมันมาใช้ในตัวอย่าง