Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่องการสร้างรูปกราฟฟิก GD(Graphics Draw) หน่อยครับ



 

สอบถามเรื่องการสร้างรูปกราฟฟิก GD(Graphics Draw) หน่อยครับ

 



Topic : 135163



โพสกระทู้ ( 178 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามเรื่องการสร้างรูปกราฟฟิก GD(Graphics Draw) หน่อยครับ
ทำไมรูปมันไม่โชว์ครับ ตามรูปเลยครับ มันต้องไปInstall อะไรเพิ่มหรือป่าวครับ

ขอบคุณครับ


Header('Content-type: image/png'); 
$img = imagecreate(300, 300);
imagefill($img, 0, 0, imagecolorallocate($img, 220, 220, 220));
$red = rand(0, 255);
$green = rand(0, 255);
$blue = rand(0, 255);
$color = imagecolorallocate($img, $red, $green, $blue);

imageline($img, 25, 25, 275, 275, $color);
imageline($img, 275, 25, 25, 275, $color);

imagerectangle($img, 25, 25, 275, 275, $color);
imageellipse($img, 150, 150, 250, 250, $color);


aa

aa2



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-04-26 21:39:15 By : teedesign View : 642 Reply : 7
 

 

No. 1



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ลองเปลี่ยน encoding ของไฟล์ php เป็น ANSI ดูครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-26 23:43:00 By : PhrayaDev
 


 

No. 2



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


คำสั่งส่งออกเป็นภาพล่ะครับ

imagepng($img);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-27 07:17:49 By : Chaidhanan
 

 

No. 3



โพสกระทู้ ( 178 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-04-27 07:17:49
รายละเอียดของการตอบ ::
... ใส่ความคิดเห็นตรงนี้.......


ขออภัยครับ ตอนโพสต์ Copy มาไม่หมดครับ เป็นหน้าจอดำเหมือนเดิมครับ



Code (PHP)
Header('Content-type: image/jpeg'); 
$img = imagecreate(300, 300);
imagefill($img, 0, 0, imagecolorallocate($img, 220, 220, 220));
$red = rand(0, 255);
$green = rand(0, 255);
$blue = rand(0, 255);
$color = imagecolorallocate($img, $red, $green, $blue);

imageline($img, 25, 25, 275, 275, $color);
imageline($img, 275, 25, 25, 275, $color);

imagerectangle($img, 25, 25, 275, 275, $color);
imageellipse($img, 150, 150, 250, 250, $color);

imagejpeg($img);



ประวัติการแก้ไข
2020-04-27 08:21:33
2020-04-27 08:24:54
2020-04-27 08:30:49
2020-04-27 08:33:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-27 08:20:53 By : teedesign
 


 

No. 4



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตามที่บอกไป ปกติ php ที่เขียนอย่าง professional มัก(ง่าย) กำหนด Encode page เป็น UTF-8...ซึ่งส่งผลกระทบโดยตรงเพราะจะมีหัว marker แถมมาก่อน output byte ของ image content ทำให้ php เข้าใจว่าเนื้อหารูปภาพเป็นแบบ text/html...จึงเป็นที่มาว่าทำไมต้องตั้ง php encode เป็น ANSI(อย่างน้อยในไฟล์ที่ใช้ GD library)

ไม่งั้นก็ใส่ ob_clean(); ก่อน header() เพื่อเคลียร์ output buffer ก่อน


ประวัติการแก้ไข
2020-04-27 11:20:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-27 11:18:12 By : PhrayaDev
 


 

No. 5



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


มันไม่จำเป็นต้อง ansi หรอกครับ ให้ utf-8 น่ะดีแล้วจะได้รองรับกับ unicode ส่วนอื่นๆทั้งระบบ.

กรณีที่มีหัวออกมาก่อนอย่างที่ว่า มันเป็นเพราะ UTF-8 with BOM (ถ้าใช้ windows notepad มักจะเป็น).
ให้ตรวจหรือแก้ใน notepad ด้วยการ save as UTF-8 without BOM (UTF-8 เฉยๆ ใน Windows 10 - จากที่เห็น).
กรณีที่แน่ใจแล้วว่าไม่มี BOM ก็ต้องตรวจการ echo หรือการใช้ปนๆมั่วๆ html+php ที่บางคนเขาใช้กัน อย่างเช่น
Code (PHP)
<html>
<?php

//...
?>
</html>


อย่างนี้มันก็กำหนด header อะไรไม่ได้เลย มันจะ header already sent อยู่เรื่อย.

ถ้าการกำหนด header() ผ่านฉลุย, กำหนด php.ini ให้แจ้ง error ทุกระดับแบบละเอียดยิบๆแล้ว รันแล้ว ไม่มีแจ้งอะไร ก็แสดงว่าทุกอย่างผ่าน ไม่มีการ output ออกมาก่อนกำหนด. ปัญหาที่เหลือจะอยู่ที่อื่นครับ.


ประวัติการแก้ไข
2020-04-27 20:19:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-27 20:18:10 By : mr.v
 


 

No. 6



โพสกระทู้ ( 178 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับได้แล้วครับ Clear Browwer ก็โชว์แล้วครับเส้นผมบังภูเขา



<?php
header('Content-type: image/jpeg'); 
$img = imagecreate(300, 300);
imagefill($img, 0, 0, imagecolorallocate($img, 220, 220, 220));
$red = rand(0, 255);
$green = rand(0, 255);
$blue = rand(0, 255);
$color = imagecolorallocate($img, $red, $green, $blue);

imageline($img, 25, 25, 275, 275, $color);
imageline($img, 275, 25, 25, 275, $color);

imagerectangle($img, 25, 25, 275, 275, $color);
imageellipse($img, 150, 150, 250, 250, $color);

imagejpeg($img);
?>


aaaaaaa


ประวัติการแก้ไข
2020-04-27 20:26:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-27 20:23:46 By : teedesign
 


 

No. 7



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


ไหนๆได้แล้ว ขออนุญาตแนบความรู้เพิ่มเติมจากที่ทดลองเมื่อสักครู่.

ถ้ากำหนด header content-type เป็นรูปแล้ว เช่น image/png, image/jpg แต่ไม่มีเนื้อหาอะไรเลย มันก็จะขึ้นว่า
Quote:
The image cannot be displayed because it contains errors

กรณีนี้ถ้าสงสัย ให้ไล่ comment code header content type เลย
ตัวอย่าง...

Code (PHP)
//header('Content-Type: image/jpg');
$img = imagecreate(300, 300) OR die('imagecreate is failed.');
imagefill($img, 0, 0, imagecolorallocate($img, 220, 220, 220)) OR die('imagefill is failed.');
$red = rand(0, 255);
$green = rand(0, 255);
$blue = rand(0, 255);
$color = imagecolorallocate($img, $red, $green, $blue);

imageline($img, 25, 25, 275, 275, $color);
imageline($img, 275, 25, 25, 275, $color);

imagerectangle($img, 25, 25, 275, 275, $color);
imageellipse($img, 150, 150, 250, 250, $color);

จากตัวอย่างข้างบน มันจะยังไม่แสดงผลรูปออกมา ไม่มีอะไรเลย หน้าว่างๆแต่ก็ไม่ error (display error หมดแล้ว) แสดงว่าปัญหามาจากอย่างที่ว่าจริง คือมี header content type image แต่ไม่มีเนื้อหา เพราะโค้ดข้างบน(ยกเว้น header()) ไม่มี error อะไรออกมา.

แต่เมื่อใส่ imagejpeg($img); เข้าไป และเปิดใช้ header content type มันก็แสดงรูปออกมาปกติครับ.
เผื่อใครมีปัญหาอย่างนี้อีก php มันไม่เจาะจง error ให้ ให้สงสัยไว้ก่อนว่าเนื้อหารูปไม่มีตรงกับ header content type.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-27 20:39:28 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการสร้างรูปกราฟฟิก GD(Graphics Draw) หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่