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,027

HOME > PHP > PHP Forum > ใช้งาน imagecopyresized() ไม่ได้ครับ ผมต้องการให้แสดงรูปภาพจากฐานข้อมูล แต่จะโชว์เป็นขนาดเล็ก



 

ใช้งาน imagecopyresized() ไม่ได้ครับ ผมต้องการให้แสดงรูปภาพจากฐานข้อมูล แต่จะโชว์เป็นขนาดเล็ก

 



Topic : 025199



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



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




ผมต้องการให้แสดงรูปภาพจากฐานข้อมูล แต่จะโชว์เป็นขนาดเล็กก่อนเพื่อให้โหลดข้อมูลเร็วขึ้นครับ(เนื่องจากภาพมีขนาดใหญ่และคุณภาพสูง)
เลยจะสร้างฟังก์ชั่น imagecopyresized ย่อรูปแต่มันกลับไม่โชว์ภาพเลยครับ (รูปภาพ admin ใส่เองครับ jpeg ทั้งหมด)


///แบบที่1
function imgReSize($file){
header('Content-type: image/jpeg');
// Get new sizes
list($width, $height) = getimagesize($file);
// Load
$thumb = imagecreatetruecolor(100,80); //ต้องการแสดงขนาด 100*80 px
$source = imagecreatefromjpeg($file);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, 100, 80, $width, $height);
// Output
imagejpeg($thumb);
imagedestroy($source); //ติด Warning: imagedestroy(): supplied argument is not a valid Image
imagedestroy($thumb); //ติด Warning: imagedestroy(): supplied argument is not a valid Image
}

///แบบที่2 ดูตัวอย่างจกหนังสือ
function imgReSize($file){
header('Content-type: image/jpeg');
$imgJpg = imagecreatefromjpeg($file);
$w = imagesx($imgJpg);
$h = imagesy($imgJpg);
$img = imagecreate(100,80);
imagecopyresized($img,$imgJpg,0,0,0,0,100,80,$w,$h);
imagejpeg($img,"",100);
imagedestroy($imgJpg); //ติด Warning: imagedestroy(): supplied argument is not a valid Image
imagedestroy($img); //ติด Warning: imagedestroy(): supplied argument is not a valid Image
}
[/code/



ไม่แสดงภาพออกมาทั้ง 2 แบบเลยครับ แถม imagedestroy error อีก (ดูตัวอย่างจากเว็บและหนังสือ คำสั่งไม่น่าจะผิดอะครับ)
แล้วผมเรียกฟังก์ชั่นนี้จาก page อื่น แบบนี้ถูกต้องใช่ไหมครับ

[code]<?
$result1=mysql_query("SELECT * FROM tb_room WHERE id = '$id' "); //ดึงข้อมูลจาก db
$row1=mysql_fetch_object($result1)
?>
<img src="<? imgReSize('../$row1->pic1'); ?>" /> //ฟิลด์ pic1 เก็บ ไดเรกทอรี่ของรูปที่อัพไว้
ใน php.ini ก็เปิด extension gd2.dll ตามปกติอะครับ


ยังไม่ค่อยเข้าใจกับการทำภาพของ php ครับ รบกวนช่วยดูให้ทีครับ
ขอบคุณครับ

แก้ไขเพิ่มนะครับ ผมลองคลิกขวาดู properties ที่รูปแล้วมันฟ้อง warning imagecreatefromjpeg($row1->pic1)......
อะครับ แสดงว่ามันไม่รับรู้ตัวแปรที่ผมส่งไปหรอครับ พอใส่ลองพาธรูปตรงๆไปเลย มันกลับเป็นอักษรยืกยือๆเต็มไปหมดเลยครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-03-05 14:11:48 By : lovehinatava View : 1776 Reply : 4
 

 

No. 1



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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


ผมว่าโค้ดน่ะถูกแล้วครับ แต่การเรียกใช้มันผิด
ควรจะสร้างแยกไฟล์ออกมาเลย ไม่เป็นแค่ฟังชั่น

Code (PHP) - image.php
<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?> 



เวลาเรียกใช้

Code HTML
<img src="image.php" />







Date : 2009-03-05 15:03:04 By : lozomac
 


 

No. 2



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



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


ขอบคุณครับ

แต่ภาพที่ผมดึงมามันไม่ได้มีแค่ภาพเดียวน่ะครับ แล้วถ้าผมจะเรียกใช้เรื่อยๆ ควรจะทำอย่างไรดีครับ

รู้สึกว่าเปิดเจอ บางเว็บบอกว่า imagecreatefromjpeg มันไม่ชื่อภาพที่ส่งมาจาก db ???
Date : 2009-03-05 16:25:59 By : lovehinatava
 

 

No. 3



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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


Quote:
<img src="image.php" />

Code
<img src="image.php?image=filename" />

หรือ
Code
<img src="image.php?image_id=file_id" />


ใน image.php ก็เขียนโค้ดดึงข้อมูลจาก db ตามตัวแปร ครับ
Date : 2009-03-05 16:48:38 By : lozomac
 


 

No. 4

Guest


ขอบคุณมากเลยครับ แก้ได้เรียบร้อยแล้ว

เอาโค้ดเรียกมาให้ดู (โค้ดข้างบนไม่ออกนะครับ เลยไปลองเอาของหนังสือมาลองดู)

จะจำไว้เป็นบทเรียนเลยคับ ว่าฟังก์ชั่นถ้าใช้กับรูปภาพ ห้ามเป็น function(){ } ไม่งั้นไม่ออกชัวร์

Code (PHP)- resize.php
<?php
$file = $_GET['file'];

header('Content-type: image/jpeg');

list($width,$height) = getimagesize($file);
$thumb = imagecreatetruecolor("100","80");
$source = imagecreatefromjpeg($file);
imagecopyresized($thumb,$source,0,0,0,0,"100","80",$width,$height);
imagejpeg($thumb,"",80);

imagedestroy($source);
imagedestroy($thumb);
?>



แล้วพอเรียกก็ใช้แบบนี้ครับ (floder ที่เก็บภาพของผมอยู่เหนือขึ้นไป1ระดัับอะครับ)

Code (PHP)
<?php

$result1=mysql_query("SELECT * FROM tb_room WHERE id = '$id' ");
$row1=mysql_fetch_object($result1)  //select db

?>

<img src="resize.php?file=<?='../'.$row1->pic1;?>" /> //เรียกใช้


Date : 2009-03-05 19:19:26 By : lovehinatava
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ใช้งาน imagecopyresized() ไม่ได้ครับ ผมต้องการให้แสดงรูปภาพจากฐานข้อมูล แต่จะโชว์เป็นขนาดเล็ก
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่