ก่อนอื่นต้องขอโทษ สำหรับน้องๆที่รอคอยบทความ
ที่ทางเราได้สัญญาว่าจะออกกันทุกเดือน แต่สำหรับ เดือนที่ผ่านมา ผมไม่ค่อยมีเวลาเจียดเวลา
มาเขียนบทความสักเท่าไหร่ อันเนื่องมาจาก ต้องปั่นงานประจำ และงานนอก ซึ่งรับมาทำ
หากใครจะจ้างเขียนโปรแกรมสามารถติดต่อผม ได้ทางเว็บบอร์ดนะครับ และผมใคร่อยากจะขอฝากให้ช่วยกัน
สนับสนุน กับผู้ที่ลงโฆษณา กับทางเว็บเรา ไม่ว่าจะเป็นของ Friends.co.th
หรือ บัตรเคดิต ต่างๆ ที่จะ pop up ให้ รำคาญ กันเล่น (อันนี้จากน้องๆที่สนิทกัน
เค้ามาพูดกับผมตรงๆ ว่า... เอาออกได้มะพี่) ผมก็ตอบไปว่า ไม่ได้หรอก เพราะเราต้องมีรายรับบ้าง
เพื่อใช้จ่ายในค่า Host ที่เราเช่าอยู่ ผมจึงอยากขอให้พี่ๆน้องๆ ช่วยกันอุดหนุน
สมัครกันสักนิด เพื่อให้ทางเว็บเรามีกำลังพัฒนา ในส่วนของ ผู้เขียนบทความจะได้มีกำลังใจเขียนบทความ
ออกมา ให้ได้ติดตามกันต่อไปเรื่อย นอกเรื่องกันมาแยะแล้ว ก็ขอเริ่มบทความจริงๆกันซะที่และกันครับ
เดี๋ยวจะเบื่อกันซะก่อน
สำหรับบทความนี้ เกิดจากที่ผมได้รับการสอบถาม
ว่ามีวิธีการสร้างภาพแบบ Dynamic บนเว็บอีกหรือไม่ ที่ไม่ใช่การเขียน CGI
แล้วหนะ? สำหรับช่วงนั้นผมก็เริ่มหัด PHP พอดี ก็เลยได้โค้ดนี้มา ไปตอบคำถามน้องๆ
ซึ่งเค้าก็ได้นำไปเป็นส่วนนึง ของโปรเจ็คของเขา ครับ
สำหรับในตัวอย่างนี้ผมใช้ Run กะ IIS
บน WindowsXP Professional ซึ่งได้ทำการลง PHP Version 4.3.0 ซึ่ง Download
มาจาก www.php.net และสำหรับเพื่อนๆที่ได้ใช้
Windows ตัวอื่นๆ สามารถ อ่านวิธีการติดตั้ง ได้จาก บทความ ที่ผ่านมาของผมครับ
(ติดตั้ง
PHP 4 บน WINDOWS 9X, Me และ NT(IIS2 และ IIS3), ติดตั้ง
PHP 4 บน WINDOWS 2000) แต่สำหรับผู้ใช้ WindowsXP ก็มีวิธีคล้ายกัน
ที่เพิ่มเข้ามาก็คือ ให้เข้าไปแก้ไฟล์ php.ini ในหัวข้อ cgi.force_redirect
= 0 ครับ ต่อจากนั้นก็ให้ทดสอบ โดยใช้วิธีการทดสอบเดียวกันกับ ติดตั้ง
PHP 4 บน WINDOWS 2000 ครับ โดยใช้เพียง function phpinfo(); ในการทดสอบครับ
เมื่อตอนนี้เราสามารถ Run php ได้แล้ว
ต่อไปจะเป็นการสร้างโค้ดเพื่อเรียกใช้ GD library ซึ่งเป็น library ที่มี
function ในการจัดการเกี่ยวกับรูปภาพ สำหรับ PHP 4 จะเป็น GD library in
version 1.6 การเรียกใช้สามารถทำได้โดย แก้ไฟล์ php.ini ดังนี้ครับ
extension_dir =C:\php\extensions
extension=php_gd.dll
สำหรับบรรทัดแรกจะเป็นการบอกถึง Path
ที่เก็บไฟล์ Library ไว้ ในกรณีนี้ผมติดตั้ง php ไว้ใน C:\PHP ส่วนบรรทัดที่
2 เป็นการนำ Comment (เครื่องหมาย ; ) ออก เพื่อเรียกใช้ GD library สำหรับผู้ใช้
linux ก็จะต้องไปเอา Comment ในไฟล์ php.ini ที่อยู่ใน Path /etc เช่นกันครับ
คราวนี้เราก็ลองเขียนโค้ดเพื่อตรวจสอบว่า
PHP ได้เรีกยใช้ GD library แล้วหรือยัง โดยมีโค้ดดังนี้
เมื่อลอง Run ดู ให้สังเกตุ ในส่วน
GD จะได้ดังรูป ก็แสดงว่าตอนนี้เราได้เรียกใช้ GD library แล้ว

เอาละครับงานนี้ เราก็มาเริ่มสร้างไฟล์
php โดยมีโค้ดดังนี้
ไฟล์ jpeggen.php
<?php header ("Content-type: image/jpeg"); $im = @imagecreate (210, 100) or die ("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate ($im, 0, 0, 0); $text_color = imagecolorallocate ($im, 233, 14, 91); for($i=1;$i<=5;$i++){ imagestring ($im, $i, 5, $i*15, "Sourcecode in Thailand", $text_color); } imagejpeg ($im,'',100); imageDestroy($im); ?>
|
จากโค้ด ข้างต้นจะเป็นการกำหนด Header
ของ เอกสารให้แจ้งกับ Web Browser ว่า เป็นข้อมูลภาพ Jpeg หลังจากนั้นก็จะทำการสร้างภาพ
ขนาด 210x100 และกำหนดสีพื้นเป็นสีดำ สีตัวอักษรเป็นสีโทนแดง เมื่อได้ค่าสีแล้ว
จะทำการวนลูป 5 ครั้ง เพื่อสร้างตัวอักษร 5 แบบ โดยแสดง ที่ตำแหน่ง x,y และเพิ่มข้อความ
"Sourcecode in Thailand" ต่อมาจะใช้คำสั่ง imagejpeg เพื่อแสดงรูป
และกำหนดความชัดเจนของรูป เท่ากับ 100 เมื่อเสร็จแล้ว ก็ทำการลบข้อมูลรูปภาพในหน่วยความจำ
หลังจากนั้น เราก็มาลอง Run จะได้ผลดังรูปด้านล่าง

ทิ้งทาย
งานนี้คงมาถึงคำถามที่ว่า สามารถรองรับกับ
Gif หรือไม่? คำตอบคือ ไม่แล้วหละครับ สำหรับ GD library in version 1.6
เป็นต้นมา จะไม่ รองรับกับ Gif แล้วละครับ (อ่านรายละเอียด)
รุ่นเก่ามีการรองรับ ไม่แน่ใจว่าทำไมต้องเอา ออกด้วย ???? หากใครทราบ เหตุผลเมล์มาบอกกันบ้างจะเป็นพระคุณอย่างสูงฮะ
และสำหรับข้อมูลของ function ต่างๆที่ใช้จัดการรูปภาพ สามารถหาข้อมูลเพิ่มเติมได้จาก
http://www.php.net/manual/en/ref.image.php
แล้วพบกันใหม่กับ 9M |