ใช้ imagecopymerge ซ้อนรูปภาพ ด้วย php อย่างง่าย

เขียนเมื่อ 10 ปีก่อน โดย Ninenik Narkdee
php imagecopymerge รูปภาพ

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ php imagecopymerge รูปภาพ

ดูแล้ว 13,973 ครั้ง


วิธีการซ้อนรูปภาพ 2 รูป และสร้างเป็นไฟล์ png ที่มีลักษณะพื้นหลังโปร่งใส
พร้อมกับการประยุกต์ใช้งาน เล็กน้อย
 
รูปที่ใช้ในการสร้าง (สามารถนำไปประยุกต์ ค่าใหม่ ตามต้องการ)
1. กำหนด รูปที่1 เป็นรูปพื้นหลัง หรือรูปที่จะแสดงด้านล่าง
ในที่นี้ ใช้ไฟล์ https://www.ninenik.com/demo/images/bg_avatar.png 
ขนาด 50 x 60 px ลักษณะพื้นหลังโปรงใส
2. กำหนด รูปที่ 2 เป็นรูปสำหรับวางทับด้านบน รูปพื้นหลังรูปที่ 1ในที่นี้ใช้ไฟล์
https://www.ninenik.com/demo/images/simple_avatar.jpg 
ขนาด 74 x 74 px แต่การใช้งาน จะมีการ resize ให้มีขนาด 44 x 44 px
 
ตัวอย่าง รูปที่ 1

 
ตัวอย่าง รูปที่ 2

 
ตัวอย่าง รูปที่ 3 รูปที่ได้จากการรวม และซ้อนทับ รูปที่ 1 และ 2
สร้างด้วย php ชื่อไฟล์ photo_avatar.php
คำอธิบาย แสดงในโค้ด




โค้ดสร้างไฟล์ การรวม และซ้อนทับ รูปภาพ 2 รูป photo_avatar.php

<?php
header('Content-Type: image/png');// ส่งออกเป็นไฟล์ภาพ png
$bg_im = imagecreatefrompng("images/bg_avatar.png"); // ตำแหน่งไฟล์รูปภาพสำหรับพื้นหลัง
$fg_im = 'images/simple_avatar.jpg'; // ตำแหน่งไฟล์รูปภาพสำหรับวางทับด้านบน

list($width, $height) = getimagesize($fg_im); // หาขนาดของไฟล์สำหรับวางทับด้านบน
$newwidth =44; /// คำกว้าง ใหม่ ในที่นี้มีการกำหนดตายตัว ถ้าภาพไม่ได้สัดส่วน อาจบิดเบี้ยวได้
$newheight =44; // ค่าความสูงใหม่ ในที่นี้มีการกำหนดตายตัว ถ้

// สร้างรูปภาพตามค่าใหม่ สำหรับรูปภาพวางทับด้านบน
$thumb = imagecreatetruecolor($newwidth, $newheight); 
// โดยสร้างจากไฟล์ ต้นฉบับ
$source = imagecreatefromjpeg($fg_im);

imagealphablending($bg_im, true); // กำหนดโปร่งใส่ภาพพื้นหลัง
imagesavealpha($bg_im, true);  // กำหนดโปร่งใส่ภาพพื้นหลัง

// เริ่มสร้างรูปภาพตามค่าใหม่ สำหรับรูปภาพวางทับด้านบน ตามขนาดที่กำหนด
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// ทำการรวมภาพ 2 ภาพ
// imagecopymerge($bg_im, $thumb, ขยับรูปด้านบน จาก x, ขยับรูปด้านบน จาก y, 0,0, $newwidth, $newheight, ค่า 0-100);
imagecopymerge($bg_im, $thumb, 3, 3, 0,0, $newwidth, $newheight, 75);


imagepng($bg_im); // แสดงภาพ
imagedestroy($bg_im);
imagedestroy($thumb);
?>


การใช้งาน

<div style="margin:auto;text-align:center;">
<img src="photo_avatar.php" />
&nbsp;&nbsp;&nbsp; 
<img src="photo_avatar.php" />
&nbsp;&nbsp;&nbsp; 
<img src="photo_avatar.php" />
</div>


 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ











URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ