aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

[php gd] afgeronde hoeken bij niet effen kleur

Deel alles wat je delen kan, gebruik het voor opslag, plaats het omdat je er trots op bent of creƫer samen wat moois!

[php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor libia » 31 mei 2008 13:54

natuurlijk werkt dit ook bij een effen kleur, maar dan kun je beter twee vierkanten en 4 cirkels gebruiken ;)

Code: Selecteer alles
<?php
//de afmeting
$w = 75;
$h = 25;

//de basis afbeelding
$im = imagecreatetruecolor($w, $h);

//hier teken je bijv. een gradient in $im
//kan eigenlijk alles zijn wat je wilt

//de afbeelding waar de hoeken worden weggelaten
$im2 = imagecreatetruecolor($w, $h);
imagesavealpha($im2, true); //mag doorzichtig zijn (handig voor de hoeken)
$bg = imagecolorallocatealpha($im2, 255, 255, 255, 127); //achtergrond kleurtje
imagefill($im2, 0, 0, $bg); //vul de achtergrond maar

//hier geef je aan welke gebieden je wilt laten zien
//door dus goed te puzzelen krijg je vanzelf afgeronde hoeken (zoals in dit voorbeeld) :)
$section = array();
$section[] = array(5, 0, $w-10, 1);
$section[] = array(3, 1, $w-6, 1);
$section[] = array(2, 2, $w-4, 1);
$section[] = array(1, 3, $w-2, 1);
$section[] = array(1, 4, $w-2, 1);

$section[] = array(1, $h-5, $w-2, 1);
$section[] = array(1, $h-4, $w-2, 1);
$section[] = array(2, $h-3, $w-4, 1);
$section[] = array(3, $h-2, $w-6, 1);
$section[] = array(5, $h-1, $w-10, 1);

$section[] = array(0, 5, $w, $h-10);

for(
$i = 0; $i < count($section); $i++)
{
    
//hier verplaatsen we de delen die we in de array hebben aangegeven naar $im2
    
imagecopyresampled($im2, $im, $section[$i][0], $section[$i][1], $section[$i][0], $section[$i][1], $section[$i][2], $section[$i][3], $section[$i][2], $section[$i][3]);
}

//en nu alleen nog maar de afbeelding weergeven
header("Content-type: image/png");
imagepng($im2);
?>

je kunt natuurlijk ook aangeven in een array welke gebieden je juist wilt weglaten, dan moet je alleen wel alle pixels doorlopen om te kijken welke er wel en welke er niet mogen worden weergeven

als je ook nog interesse hebt in een klasse om gradients te maken kun je me altijd mailen (zie mail link in profiel)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor ElbertF » 31 mei 2008 14:12

Looik, maar is 't niet een beetje zonde van de resources om voor elke keer dat je een paar hoekjes ziet een script te moeten parsen? :}
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor libia » 31 mei 2008 14:18

die opmerking snap ik niet helemaal..
je hebt namelijk al een script, om die afbeelding te maken.. dan voeg je er alleen een paar regels aan toe, zodat hij gelijk ronde hoeken maakt ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor ElbertF » 31 mei 2008 16:32

Misschien snap ik je niet helemaal dan, maar de bedoeling is toch dat je in de CSS naar dit script linkt ipv. een bestaande afbeelding?

Code: Selecteer alles
width: 15px;
height: 15px;
background = url('hoekjes.php') no-repeat left top;

Elke keer dat die achtergrondafbeelding nodig is moet je dat script parsen, ipv. gewoon een simpele afbeelding laden.
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor libia » 31 mei 2008 18:48

nee :)

dan kun je beter gewoon css gebruiken of photoshop

het is de bedoeling dat je een door gd gemaakte afbeelding ronde hoeken geeft, zo kun je bijv. een gradient maken over de hele afbeelding en daar dan ronde hoeken aan geven, twee afbeeldingen samenvoegen en daar dan ronde hoeken aangeven enz. ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor ElbertF » 31 mei 2008 18:57

Ohw.. Okee. :?
Avatar gebruiker
ElbertF
wmpr
 
Berichten: 1310
Geregistreerd: 14 nov 2007 22:09

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor Stef » 01 jun 2008 11:42

Voorbeeldje?
Avatar gebruiker
Stef
wmpr
 
Berichten: 5575
Geregistreerd: 27 nov 2003 21:51

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor libia » 01 jun 2008 12:30

ik heb geen plek waar ik het online kan zetten :S (niet met gd iig)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor http://mrdejong.myopenid.com/ » 11 jul 2008 09:31

ik vind tot op de dag van vandaag gd enorm moeilijk
http://mrderjong.myopenid.com/ is precies het zelfde als het account Alexander.
Openid is veel makkelijker dan een username en password

Get your own openid at: http://www.myopenid.com
http://mrdejong.myopenid.com/
wmpr
 
Berichten: 6
Geregistreerd: 11 jul 2008 09:19

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor http://svenndhert.myopenid.com/ » 19 jul 2008 14:00

Als je dan toch afgekapte hoekjes wil, waarom dan niet gewoon achtergrond image (in GD) gebruiken die je in een design prog. hebt gemaakt ?
http://svenndhert.myopenid.com/
wmpr
 
Berichten: 1
Geregistreerd: 19 jul 2008 13:57

Re: [php gd] afgeronde hoeken bij niet effen kleur

Berichtdoor libia » 20 jul 2008 10:23

http://svenndhert.myopenid.com/ schreef:Als je dan toch afgekapte hoekjes wil, waarom dan niet gewoon achtergrond image (in GD) gebruiken die je in een design prog. hebt gemaakt ?

kan ook, maar dit vind ik een leukere oplossing :)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!


Keer terug naar Snippets



cron