Browse Source

Factorize the thumbnail generation and move it to the class Book. re #127

master
Sébastien Lucas 10 years ago
parent
commit
b0660b0814
2 changed files with 90 additions and 50 deletions
  1. +36
    -0
      book.php
  2. +54
    -50
      fetch.php

+ 36
- 0
book.php View File

@@ -439,6 +439,42 @@ class Book extends Base {
echo "Exception : " . $e->getMessage();
}
}
public function getThumbnail ($width, $height) {
if (is_null ($width) && is_null ($height)) {
return false;
}
$file = $this->getFilePath ("jpg");
// get image size
if ($size = GetImageSize($file)) {
$w = $size[0];
$h = $size[1];
//set new size
if (!is_null ($width)) {
$nw = $width;
if ($nw > $w) { return false; }
$nh = ($nw*$h)/$w;
} else {
$nh = $height;
if ($nh > $h) { return false; }
$nw = ($nh*$w)/$h;
}
}
else{
//set new size
$nw = "160";
$nh = "120";
}
//draw the image
$src_img = imagecreatefromjpeg($file);
$dst_img = imagecreatetruecolor($nw,$nh);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
imagejpeg($dst_img,null,80);
imagedestroy($src_img);
imagedestroy($dst_img);
return true;
}

public function getLinkArray ()
{


+ 54
- 50
fetch.php View File

@@ -63,58 +63,62 @@ function notFound () {
{
case "jpg":
header("Content-Type: image/jpeg");
if (isset($_GET["width"]))
{
$file = $book->getFilePath ($type);
// get image size
if ($size = GetImageSize($file)) {
$w = $size[0];
$h = $size[1];
//set new size
$nw = $_GET["width"];
if ($nw > $w) { break; }
$nh = ($nw*$h)/$w;
}
else{
//set new size
$nw = "160";
$nh = "120";
}
//draw the image
$src_img = imagecreatefromjpeg($file);
$dst_img = imagecreatetruecolor($nw,$nh);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
imagejpeg($dst_img,null,80);
imagedestroy($src_img);
imagedestroy($dst_img);
return;
}
if (isset($_GET["height"]))
{
$file = $book->getFilePath ($type);
// get image size
if ($size = GetImageSize($file)) {
$w = $size[0];
$h = $size[1];
//set new size
$nh = $_GET["height"];
if ($nh > $h) { break; }
$nw = ($nh*$w)/$h;
}
else{
//set new size
$nw = "160";
$nh = "120";
}
//draw the image
$src_img = imagecreatefromjpeg($file);
$dst_img = imagecreatetruecolor($nw,$nh);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
imagejpeg($dst_img,null,80);
imagedestroy($src_img);
imagedestroy($dst_img);
if ($book->getThumbnail (getURLParam ("width"), getURLParam ("height"))) {
// The cover had to be resized
return;
}
// if (isset($_GET["width"]))
// {
// $file = $book->getFilePath ($type);
// // get image size
// if ($size = GetImageSize($file)) {
// $w = $size[0];
// $h = $size[1];
// //set new size
// $nw = $_GET["width"];
// if ($nw > $w) { break; }
// $nh = ($nw*$h)/$w;
// }
// else{
// //set new size
// $nw = "160";
// $nh = "120";
// }
// //draw the image
// $src_img = imagecreatefromjpeg($file);
// $dst_img = imagecreatetruecolor($nw,$nh);
// imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
// imagejpeg($dst_img,null,80);
// imagedestroy($src_img);
// imagedestroy($dst_img);
// return;
// }
// if (isset($_GET["height"]))
// {
// $file = $book->getFilePath ($type);
// // get image size
// if ($size = GetImageSize($file)) {
// $w = $size[0];
// $h = $size[1];
// //set new size
// $nh = $_GET["height"];
// if ($nh > $h) { break; }
// $nw = ($nh*$w)/$h;
// }
// else{
// //set new size
// $nw = "160";
// $nh = "120";
// }
// //draw the image
// $src_img = imagecreatefromjpeg($file);
// $dst_img = imagecreatetruecolor($nw,$nh);
// imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
// imagejpeg($dst_img,null,80);
// imagedestroy($src_img);
// imagedestroy($dst_img);
// return;
// }
break;
default:
header("Content-Type: " . Data::$mimetypes[$type]);


Loading…
Cancel
Save