rounded corners on thumbs
Elgan |
|
---|---|
Okei so today i didnt get much work on actual things done, spent pretty much all the day after work researching and getting to know GD a little more and playing about and breaking up with some girl again. so anyway: GD has alot of funcs , i wanted to get to know it a little more in deph. now im tired, angry, and dont care anymore , work int he morning and thought it would be nicer to just share and chat!
THe lil function below i use after after making a thumbnail to round the corners of it. Posting it here as its still WIP. You can see some outcomes here: More here As you may notice on some conflicting colours (ie my hat) it still tries to make it transparent on the blend? Any ideas? Note, i do know jpegs etc dont have an alpha channel, and some of you with poor browsers may get some issues.
function round_thumbnail($path)
{
$extension = get_extension($path);
switch($extension)
{
case 'gif':
$image = imagecreatefromgif($path);
break;
case 'png':
$image = imagecreatefrompng($path);
break;
default:
$image = imagecreatefromjpeg($path);
break;
}
// Get width and height
$x = imagesx($image);
$y = imagesy($image);
// grey
$grey = 0x007F7F7F;
// (black)
$c_bg = 0x00000000;
$new_img = imagecreatetruecolor($x,$y);
imageFilledRectangle($new_img, 0,0, $x,$y, $grey);
$step = 18;
$angle = 40;
// draw the head
imagearc($new_img, $step, $step, $angle, $angle, 180, 270, $transparent);
imagearc($new_img, $x - $step, $step, $angle, $angle, 270, 0, $transparent);
imagearc($new_img, $x - $step,$y - $step, $angle, $angle, 0, 90, $transparent);
imagearc($new_img, $step,$y - $step, $angle, $angle, 90, 180, $transparent);
ImageFillToBorder($new_img,0,0,$transparent,$transparent);
ImageFillToBorder($new_img,$x,$y,$transparent,$transparent);
ImageFillToBorder($new_img,0,$y,$transparent,$transparent);
ImageFillToBorder($new_img,$x,0,$transparent,$transparent);
imagecolortransparent($new_img, $transparent);
// so we only rplace on grey
imagelayereffect($new_img, IMG_EFFECT_OVERLAY);
imagecopy($new_img, $image, 0,0, 0,0, $x,$y);
switch($extension)
{
case 'gif':
imagegif($new_img, $path);
break;
case 'png':
imagepng($new_img, $path);
break;
default:
imagepng($new_img, $path);
break;
}
imagedestroy($image);
imagedestroy($new_img);
return;
}
meh sorry ill comment it tomorrow. if any interest. note i just used it like this: sed_createthumb($file_path, $thumbnail_path , $cfg['th_x'],$cfg['th_y'], $cfg['th_keepratio'], $thumbnail_extension, $filename, $file_size, $th_colortext, $cfg['th_textsize'], $th_colorbg, $cfg['th_border'], $cfg['th_jpeg_quality']);
if(1)
{
round_thumbnail($thumbnail_path);
}
|
chobblr |
|
---|---|
Where do i put this code ?
|
Elgan |
|
---|---|
errm anywhere thats loaded, functions.php if u wish. Then just call it.
but it's not compleatee, was my first attempt. ive recently found better thumbnail classes, that look to work nice, ive not tried some yet. not sure where i found it now http://www.cotonti.com/pastebin/32 |
chobblr |
|
---|---|
does the above link (to code) output look good ?
|
Elgan |
|
---|---|
im just trying it now.
Unlike mine it seems to have a set colour background, where i was trying for a transparent background. im still playing. css :D? |
chobblr |
|
---|---|
a transparent background for what ?
edit: if you mean the border color you can just stick "transparent" in the color settings on the admin panel > PFS |
|
Відредаговано: chobblr (20.05.2009 01:54, 15 років тому) |
Elgan |
|
---|---|
k...
ive not been impressed check out this tho http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php#showpic |