Making thumbnails with GD Library
Posted: Wed Jan 12, 2005 6:13 pm
Hi
I'm trying to get GD library to make thumbnails of some pictures I've got.
The script:
[syntax=php]<?
header("Content-type: image/jpeg");
header("Content-type: image/png");
header("Content-type: image/gif");
require("../billeder/mysql/mysql-funktioner.php");
$dir = "../billeder/files/";
$vis_aar = $_GET['vis_aar'];
$dette_aar = date("Y");
$tabel_billed_hoejde = "110";
$tabel_billed_bredde = "110";
//JPEG funktion
function thumb_jpeg($img_navn)
{
global $dir;
global $tabel_billed_bredde;
global $tabel_billed_hoejde;
$thumb = ImageCreateTrueColor($tabel_billed_bredde,$tabel_billed_hoejde) or die("Der opstod et problem da billedet skulle laves");
$srcimg = ImageCreateFromJPEG($dir.$img_navn) or die("Det angivne billed kunne ikke åbnes");
ImageCopyResampled($thumb,$srcimg,0,0,0,0,$tabel_billed_bredde,$tabel_billed_hoejde,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
ImageJPEG($thumb) or die("Billedet kunne ikke sendes til browseren");
}
//PNG funktion
function thumb_png($img_navn)
{
global $dir;
global $tabel_billed_bredde;
global $tabel_billed_hoejde;
$thumb = ImageCreateTrueColor($tabel_billed_bredde,$tabel_billed_hoejde) or die("Der opstod et problem da billedet skulle laves");
$srcimg = ImageCreateFromPNG($dir.$img_navn) or die("Det angivne billed kunne ikke åbnes");
ImageCopyResampled($thumb,$srcimg,0,0,0,0,$tabel_billed_bredde,$tabel_billed_hoejde,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
ImagePNG($thumb) or die("Billedet kunne ikke sendes til browseren");
}
//GIF funktion
function thumb_gif($img_navn)
{
global $dir;
global $tabel_billed_bredde;
global $tabel_billed_hoejde;
$thumb = ImageCreateTrueColor($tabel_billed_bredde,$tabel_billed_hoejde) or die("Der opstod et problem da billedet skulle laves");
$srcimg = ImageCreateFromGIF($dir.$img_navn) or die("Det angivne billed kunne ikke åbnes");
ImageCopyResampled($thumb,$srcimg,0,0,0,0,$tabel_billed_bredde,$tabel_billed_hoejde,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
ImageGIF($thumb) or die("Billedet kunne ikke sendes til browseren");
}
if(!isset($vis_aar)){
$vis_aar = $dette_aar;
}
aabn_forbindelse_og_vaelgdb();
$sql = mysql_query("SELECT * FROM billeder WHERE kategori='$vis_aar' AND godkendt='1' ORDER BY id");
echo "<h3>Billeder fra $vis_aar</h3><br><br><br><br>";
echo "<table height=$tabel_billed_hoejde width=$tabel_billed_bredde>";
while($b = mysql_fetch_array($sql)){
$id = $b["id"];
$billednavn = $b["billednavn"];
$kommentar = $b["kommentar"];
$antal_billeder = count($id);
//Find extension på fil
$len = strlen($billednavn);
$pos =strpos($billednavn,".");
$extension = substr($billednavn,$pos + 1,$len);
$extension = strtolower($extension);
if($extension == "jpeg" || $extension == "jpg"){
$billednavn = thumb_jpeg($billednavn);
}
elseif($extension == "png"){
$billednavn = thumb_png($billednavn);
}
elseif($extension == "gif"){
$billednavn = thumb_gif($billednavn);
} else {
$billednavn = $billednavn;
}
echo "<tr valign=left></td><td><a href=".$dir."/".$billednavn." target=\"_blank\"><img src=".$dir."/".$billednavn." width=$tabel_billed_bredde height=$tabel_billed_hoejde border=0></a></td></tr></tr><tr valign=top><td><br>".$kommentar."</td></tr>";
}
echo "</table>";
?>[/syntax]
This little script results in a very interesting output :wink: I think it returns the pictures in code but have a look yourself:
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC $.' ",#(7),01444'9=82<.342ÿÛC 2!!22222222222222222222222222222222222222222222222222ÿÀnn"ÿÄ ÿĵ}!1AQa"q2
I'm trying to get GD library to make thumbnails of some pictures I've got.
The script:
[syntax=php]<?
header("Content-type: image/jpeg");
header("Content-type: image/png");
header("Content-type: image/gif");
require("../billeder/mysql/mysql-funktioner.php");
$dir = "../billeder/files/";
$vis_aar = $_GET['vis_aar'];
$dette_aar = date("Y");
$tabel_billed_hoejde = "110";
$tabel_billed_bredde = "110";
//JPEG funktion
function thumb_jpeg($img_navn)
{
global $dir;
global $tabel_billed_bredde;
global $tabel_billed_hoejde;
$thumb = ImageCreateTrueColor($tabel_billed_bredde,$tabel_billed_hoejde) or die("Der opstod et problem da billedet skulle laves");
$srcimg = ImageCreateFromJPEG($dir.$img_navn) or die("Det angivne billed kunne ikke åbnes");
ImageCopyResampled($thumb,$srcimg,0,0,0,0,$tabel_billed_bredde,$tabel_billed_hoejde,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
ImageJPEG($thumb) or die("Billedet kunne ikke sendes til browseren");
}
//PNG funktion
function thumb_png($img_navn)
{
global $dir;
global $tabel_billed_bredde;
global $tabel_billed_hoejde;
$thumb = ImageCreateTrueColor($tabel_billed_bredde,$tabel_billed_hoejde) or die("Der opstod et problem da billedet skulle laves");
$srcimg = ImageCreateFromPNG($dir.$img_navn) or die("Det angivne billed kunne ikke åbnes");
ImageCopyResampled($thumb,$srcimg,0,0,0,0,$tabel_billed_bredde,$tabel_billed_hoejde,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
ImagePNG($thumb) or die("Billedet kunne ikke sendes til browseren");
}
//GIF funktion
function thumb_gif($img_navn)
{
global $dir;
global $tabel_billed_bredde;
global $tabel_billed_hoejde;
$thumb = ImageCreateTrueColor($tabel_billed_bredde,$tabel_billed_hoejde) or die("Der opstod et problem da billedet skulle laves");
$srcimg = ImageCreateFromGIF($dir.$img_navn) or die("Det angivne billed kunne ikke åbnes");
ImageCopyResampled($thumb,$srcimg,0,0,0,0,$tabel_billed_bredde,$tabel_billed_hoejde,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
ImageGIF($thumb) or die("Billedet kunne ikke sendes til browseren");
}
if(!isset($vis_aar)){
$vis_aar = $dette_aar;
}
aabn_forbindelse_og_vaelgdb();
$sql = mysql_query("SELECT * FROM billeder WHERE kategori='$vis_aar' AND godkendt='1' ORDER BY id");
echo "<h3>Billeder fra $vis_aar</h3><br><br><br><br>";
echo "<table height=$tabel_billed_hoejde width=$tabel_billed_bredde>";
while($b = mysql_fetch_array($sql)){
$id = $b["id"];
$billednavn = $b["billednavn"];
$kommentar = $b["kommentar"];
$antal_billeder = count($id);
//Find extension på fil
$len = strlen($billednavn);
$pos =strpos($billednavn,".");
$extension = substr($billednavn,$pos + 1,$len);
$extension = strtolower($extension);
if($extension == "jpeg" || $extension == "jpg"){
$billednavn = thumb_jpeg($billednavn);
}
elseif($extension == "png"){
$billednavn = thumb_png($billednavn);
}
elseif($extension == "gif"){
$billednavn = thumb_gif($billednavn);
} else {
$billednavn = $billednavn;
}
echo "<tr valign=left></td><td><a href=".$dir."/".$billednavn." target=\"_blank\"><img src=".$dir."/".$billednavn." width=$tabel_billed_bredde height=$tabel_billed_hoejde border=0></a></td></tr></tr><tr valign=top><td><br>".$kommentar."</td></tr>";
}
echo "</table>";
?>[/syntax]
This little script results in a very interesting output :wink: I think it returns the pictures in code but have a look yourself:
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC $.' ",#(7),01444'9=82<.342ÿÛC 2!!22222222222222222222222222222222222222222222222222ÿÀnn"ÿÄ ÿĵ}!1AQa"q2