หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  จ้า...
2020-10-18 16:53:21
  พอดีผมเหลื่อแค่ตัดสต๊อก...
2020-05-31 21:49:43
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
สร้างภาพ Jpeg แบบ Dynamic ด้วย PHP (อ่าน 21,394)
ศุภกิจ ทองดี (9'M) บทความโดย: นาย ศุภกิจ ทองดี (9'M)
e-mail: webmaster@sourcecode.in.th
mobile: 09-5009-5351
Line: suppakit.thongdee
Youtube: 9Mcode
Fanpage: Sourcecode.in.th
   

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 

ก่อนอื่นต้องขอโทษ สำหรับน้องๆที่รอคอยบทความ ที่ทางเราได้สัญญาว่าจะออกกันทุกเดือน แต่สำหรับ เดือนที่ผ่านมา ผมไม่ค่อยมีเวลาเจียดเวลา มาเขียนบทความสักเท่าไหร่ อันเนื่องมาจาก ต้องปั่นงานประจำ และงานนอก ซึ่งรับมาทำ หากใครจะจ้างเขียนโปรแกรมสามารถติดต่อผม ได้ทางเว็บบอร์ดนะครับ และผมใคร่อยากจะขอฝากให้ช่วยกัน สนับสนุน กับผู้ที่ลงโฆษณา กับทางเว็บเรา ไม่ว่าจะเป็นของ 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 แล้วหรือยัง โดยมีโค้ดดังนี้

<?php
     phpinfo();
?>

เมื่อลอง 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

 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

เริ่มต้นพัฒนาเว็บ PHP ด้วย XAMPP

เริ่มต้น Ajax ด้วยการสร้างนาฬิกา

แสดง Drive ของฝั่ง Client ด้วย JavaScript

เลือก Download รูปภาพด้วย ADODB Stream

Downlod หน้าเว็บ ของเว็บอื่น ด้วย ASP

Upload File ด้วย PHP

แสดงรายชื่อ Folder และ File ฝั่ง Server ด้วย ASP

ติดตั้ง PHP 4 บน WINDOWS 9X, Me และ NT(IIS2 และ IIS3)

เทคนิคการเปลี่ยนใช้ภาษาไทยกับ Dreamweaver

ติดตั้ง PHP 4 บน WINDOWS 2000
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th