บทความนี้จะแสดงตัวอย่างการนำรูป 2 รูปมาต่อกันตามแนวตั้งให้ออกมาเป็นรูปเดียว โดยไฟล์ที่ใช้จะมี 4 ไฟล์ คือ
- ไฟล์รูป 2 รูป
- ไฟล์ test_combine_image.php (เป็นหน้าที่ใช้แสดงผล)
- ไฟล์ showImage.php (เป็นหน้าที่ใช้ประมวลผลภาพและแสดงออกมา)
ไฟล์ test_combine_image.php
<img src="images/image1.jpg" width="200"/><br><br>จะเห็นได้ว่าจะมีการชี้ src ของ tag img ไปยัง showImage.php เพื่อนำรูปภาพที่ได้จากการประมวลผลแล้วมาแสดง
<img src="images/image2.jpg" width="200"/><br><br>
<img src="showImage.php" width="200"/>
ไฟล์ showImage.php
<?phpกำหนดผลการแสดงของหน้า PHP เป็นรูปภาพนามสกุล PNG
header ("Content-type: image/png");
$srcImagePaths = Array('http://localhost/Test_image/images/image1.jpg'
,'http://localhost/Test_image/images/image2.jpg');
$size1 = getimagesize($srcImagePaths[0]);
$size2 = getimagesize($srcImagePaths[1]);
$image1 = imagecreatefromjpeg($srcImagePaths[0]);
$image2 = imagecreatefromjpeg($srcImagePaths[1]);
$resultImage = imagecreatetruecolor($size1[0], $size1[1]+$size2[1]);
imagecopy($resultImage, $image1, 0, 0, 0, 0, $size1[0], $size1[1]);
imagecopy($resultImage, $image2, 0, $size1[1], 0, 0, $size2[0], $size2[1]);
imagepng($resultImage);
?>
header ("Content-type: image/png");การสร้างตัวแปรเพื่อเก็บข้อมูลของรูปภาพ
$srcImagePaths = Array('images/image1.jpg'); //ใช้กำหนดที่อยู่ของไฟล์รูป
$image1 = imagecreatefromjpeg($srcImagePaths[0]);
//ทำการดึงข้อมูลของไฟล์รูปมาเก็บในตัวแปร จากที่อยู่ของไฟล์รูปที่กำหนดไว้ข้างต้น
//ซึ่งตัว Function จะขึ้นอยู่กับนามสกุลของไฟล์รูปด้วยเช่น jpg จะใช้ imagecreatefromjpeg เป็นต้น
//ดูเพิ่มเติมได้ที่ PHP: imagecreatefromjpeg - Manual
การสร้างรูปภาพเปล่าๆขึ้นมา
$resultImage = imagecreatetruecolor($size1[0], $size1[1]+$size2[1]);การ Copy รูปภาพ ไปใส่อีกรูปภาพ
//กำหนด ความกว้างและสูงเข้าไป
imagecopy($resultImage, $image1, 0, 0, 0, 0, $size1[0], $size1[1]);การแสดงผลรูปภาพ
//Parameter ดังนี้
//1 รูปภาพเป้าหมาย
//2 รูปภาพที่จะทำการ Copy ไปใส่ในรูปเป้าหมาย
//3 ตำแหน่ง x ของรูปภาพเป้าหมาย ที่จะนำรูปภาพ Copy ไปแสดง
//4 ตำแหน่ง y ของรูปภาพเป้าหมาย ที่จะนำรูปภาพ Copy ไปแสดง
//5 ตำแหน่ง x ของรูปภาพ Copy ที่จะใช้ Copy
//6 ตำแหน่ง y ของรูปภาพ Copy ที่จะใช้ Copy
//7 ความกว้างของรูปภาพ Copy ที่จะใช้ Copy
//8 ความสูงของรูปภาพ Copy ที่จะใช้ Copy
imagepng($resultImage);การเช็ครายละเอียดของไฟล์รูปภาพ
//เป็นการนำตัวแปรที่เก็บข้อมูลรูปภาพไว้มาแสดงออกทางหน้า PHP
//ซึ่งต้องกำหนด Header ตามข้างบนถึงจะแสดงเป็นรูปภาพ
//ตัว Function จะขึ้นอยู่กับนามสกุลไฟล์รูปภาพที่ต้องการแสดง
//เช่น ต้องการให้นามสกุลรูปภาพเป็น PNG ใช้ Function imagepng
//ดูเพิ่มเติมได้ที่ PHP: imagepng - Manual
$size1 = getimagesize($srcImagePaths[0]);
ผลที่ได้คือ
Array (
[0] => 1024 //width
[1] => 768 //height
[2] => 2
[3] => width="1024" height="768"
[bits] => 8
[channels] => 3
[mime] => image/jpeg //image type
)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น