FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Thumbnails with PHP
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Thumbnails with PHP [message #176118 is a reply to message #176115] Thu, 24 November 2011 11:10 Go to previous message
The Natural Philosoph is currently offline  The Natural Philosoph
Messages: 993
Registered: September 2010
Karma:
Senior Member
Niels Lange wrote:
> Hi there,
>
> at present I'm developing a website for a photographer. Currently I'm
> using PHPThumb (http://phpthumb.gxdlabs.com/) to create thumbnails
> resp. to trim the uploaded photos. The problem is that I have to
> define a fixed upload format. Therefore it's only possible to create
> horizontal images but no vertical images.
>
> In detail my clients expectations are as follows:
>
> - If he uploads a horizontal image it'll get cropped to a certain
> size, e.g. 800p x 600 pixel.
> - If he uploads a vertical image the image will cropped with a height
> of 600 pixel, centered in a 800 pixel width frame. Than that frame
> should be filled black.
>
> I'm not really sure how to realize that. Any suggestions? Thank you in
> advanced!
>

some code may help you - this uses the GD library.
You will have too rejig the logic to get the size YOU want.
Also be aware that for large images, this is pretty CPU intensive.
Likewise, there are some potential issues with te GD library not being
re-entrant.. simultaneous production of images MAY have caused some
problems on a busy site.
If you can bear it, its probably better to use code like this ONCE when
UPLOADING the image to generate a thumbnail.


<?php
include('shoplib.php'); // contains database access stuff..
open_database(); // ready to check
$id=$_GET['id']; // call as thumbnail.php?id=2395 or whatever
/*************************************
* extract pictre sa BLOB from database
**************************************/
$query="select picture from product where id='".$id."'";
$result=mysql_query($query);
if(($result>0) && (($rows=mysql_numrows($result)) == 1)) //got some data
{
$content=mysql_result($result,0,'picture');
}
else die();
if ($name="") die();

// now to shrink the picture..
$im=imagecreatefromstring($content);
// GD lib handles nearly all image types
// get sizes
$width=imagesx($im);
$height=imagesy($im);
// our thumbnails are 100px wide..dont care about the height so scale as
width
$newheight=round(($height*100)/$width);
$newwidth=100;
// we DO care about the height now, so if the height is more than 70px,
scale that
if($newheight>50)
{
$newwidth=round(100*50/$newheight);
$newheight=50;
}
$thumbnail=imagecreatetruecolor($newwidth,$newheight);
// make empty new wotsit.
imagecopyresampled($thumbnail,
$im,0,0,0,0,$newwidth,$newheight,$width,$height);
header("Content-Type: image/jpeg");
imagejpeg( $thumbnail,null,75); ?>
?> // and remmove ANY trailing whitespace after this..

> Regards,
> Niels
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Hmm..why doesnt this work?
Next Topic: Softec Delhi December 10th
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Mon Nov 25 18:14:06 GMT 2024

Total time taken to generate the page: 0.43417 seconds