1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $dir = 'fonts/'; $image = imagecreatetruecolor(100, 40); $black = imagecolorallocate($image, 0, 0, 0); $color = imagecolorallocate($image, 137, 196, 62); $white = imagecolorallocate($image, 255, 255, 255); imagefilledrectangle($image,0,0,399,99,$white); imagettftext ($image, 15, 0, 10, 25, $color, $dir."helvetica.otf", $_SESSION['rand_code']); header("Content-type: image/png"); imagepng($image); ?> |
http://php.net/manual/en/function.imagecolortransparent.phpquote:Op maandag 30 januari 2012 21:22 schreef boem-dikkie het volgende:
Heeft iemand hier verstand van PHP die een plaatje aanmaakt? Ik heb een stukje code die een captcha plaatje aanmaakt, het werkt allemaal prima maar ik kan niet vinden hoe ik de achtergrond 'weg' krijg (transparant). Een ander kleurtje geven kan ik hem wel door RGB waardes in te vullen maar hoe ik hem transparant krijg ik voor mij een raadsel, heb al wat waardes weggehaald om te proberen maar zonder resultaat. Dit is het stukje code die het plaatje maakt:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php // Create a 55x30 image $im = imagecreatetruecolor(55, 30); $red = imagecolorallocate($im, 255, 0, 0); $black = imagecolorallocate($im, 0, 0, 0); // Make the background transparent imagecolortransparent($im, $black); // Draw a red rectangle imagefilledrectangle($im, 4, 4, 50, 25, $red); // Save the image imagepng($im, './imagecolortransparent.png'); imagedestroy($im); ?> |
Toen ik nog programmeerde in notepad heb ik avonden gehad dat ik de computer kon afbreken als ik weer ergens een } was vergeten.quote:Op maandag 30 januari 2012 20:46 schreef Cue_ het volgende:
Ik denk dat iedereen er wel eens een paar uur heeft zitten vloeken omdat er bepaalde tekens niet goed werden afgesloten of dat per ongeluk de verkeerde tekens werden gebruikt
Het werkt toch niet echt lekker, met een vierkantje e.d wel maar ik laad een font in die 5 letters laat zien, als ik een transparante achtergrond maak met die code dan komen er om mijn letters heen alsnog kleine zwarte randjes.quote:Op maandag 30 januari 2012 21:24 schreef U.N.K.L.E. het volgende:
En dus wel op deze manier:
[ code verwijderd ]
Hmm ik weet niet of dat zo gemakkelijk is op te lossen. Daarvoor heb ik net iets te weinig ervaring met deze functies. Als je dezelfde letters op een witte achtergrond plaatst is het niet?quote:Op dinsdag 31 januari 2012 12:24 schreef boem-dikkie het volgende:
[..]
Het werkt toch niet echt lekker, met een vierkantje e.d wel maar ik laad een font in die 5 letters laat zien, als ik een transparante achtergrond maak met die code dan komen er om mijn letters heen alsnog kleine zwarte randjes.
[ afbeelding ]
Vaak genoeg. Helemaal aan het einde van de dag dan zie je het gewoon niet meer. Kom je de ochtend erna weer terug en kijk je erna, zie je het meteenquote:Op maandag 30 januari 2012 20:46 schreef Cue_ het volgende:
Ik denk dat iedereen er wel eens een paar uur heeft zitten vloeken omdat er bepaalde tekens niet goed werden afgesloten of dat per ongeluk de verkeerde tekens werden gebruikt
Met imagecolortransparent() kun je maar één kleur transparant maken. Als je de randen van schuine lijnen/rondingen ook transparant wilt hebben moet je alpha blending gebruiken waardoor pixels ook halftransparant kunnen zijn.quote:Op dinsdag 31 januari 2012 12:24 schreef boem-dikkie het volgende:
[..]
Het werkt toch niet echt lekker, met een vierkantje e.d wel maar ik laad een font in die 5 letters laat zien, als ik een transparante achtergrond maak met die code dan komen er om mijn letters heen alsnog kleine zwarte randjes.
[ afbeelding ]
Ik wil ook maar één kleur transparant maken. De achtergrond, de letters moeten gewoon wit.quote:Op dinsdag 31 januari 2012 13:00 schreef mstx het volgende:
[..]
Met imagecolortransparent() kun je maar één kleur transparant maken. Als je de randen van schuine lijnen/rondingen ook transparant wilt hebben moet je alpha blending gebruiken waardoor pixels ook halftransparant kunnen zijn.
1 2 3 4 5 6 7 | <?php $im = imagecreatetruecolor(100, 40); $almostblack = imagecolorallocate($im,239,130,0); imagefill($im,0,0,$almostblack); $black = imagecolorallocate($im,255,255,255); imagecolortransparent($im,$almostblack); ?> |
Je gebruikt een anti-aliased font.quote:Op dinsdag 31 januari 2012 13:15 schreef boem-dikkie het volgende:
[..]
Ik wil ook maar één kleur transparant maken. De achtergrond, de letters moeten gewoon wit.
Maar goed, ik heb nu deze code staan en het resultaat is redelijk goed. Niet spierwit, maar wel prima op zich.
[ code verwijderd ]
Thanks voor de duidelijkheid! Even proberen.quote:Op dinsdag 31 januari 2012 13:44 schreef mstx het volgende:
[..]
Je gebruikt een anti-aliased font.
[ afbeelding ]
Als je maar één kleur transparant kunt maken kunnen in dit voorbeeld dus alleen de pixels die 100% wit zijn transparant worden. De 'grijze' pixels blijven dan de oorspronkelijke kleur, dus als je dat op een paarse achtergrond zet blijven de pixels grijs en krijgen ze niet een paarse tint.
Met alpha blending maak je die pixels halftransparant waardoor je wel mooie randen krijgt.
Mysql_fetch_array ingeklust, en het werkt!quote:Op maandag 30 januari 2012 20:27 schreef WheeleE het volgende:
[..]
Dan ga ik eerst eens kijken hoevel ik uit de manual kan vinden. Mocht ik daar niet uit komen dan kom ik weer terug in t topic
[..]
Ik heb het gewoon echt niet gezien, zo vaag. Ik begon echt aan mezelf te twijfelen, letter voor letter vergeleken
1 2 3 4 5 | select w_id, s_id, s_datum, w_tijd, t1.t_naam as w_team1, t2.t_naam as w_team2 from wedstrijd, speeldag, team t1, team t2 where w_speeldag = s_id and w_team1 = t1.t_id and w_team2 = t2.t_id |
1 2 3 4 5 6 7 8 9 | wid sid datum tijd T1 T2 --------------------------------------- 1 1 2011-11-19 09:00:00 A B 4 1 2011-11-19 09:30:00 C D 7 1 2011-11-19 10:00:00 E F 10 1 2011-11-19 10:30:00 G H 13 2 2011-11-20 11:00:00 I J 16 2 2011-11-20 11:30:00 K L 19 2 2011-11-20 13:00:00 M N |
1 2 3 | <?php $result[$row['datum'][$row['sid']][] = array('tijd' => $row['tijd'], 'T1' => $row['T1']); ?> |
En JOINS zou ik zoiets doen (je moet zelf ff kijken of de kolomnamen en aliassen goed zijn)quote:Op dinsdag 31 januari 2012 14:06 schreef WheeleE het volgende:
[..]
Mysql_fetch_array ingeklust, en het werkt!
Nu de join en de multidimensional array nog. Daar heb ik nog even een aanwijzing voor nodig.
Als ik speeldag met wedstrijd join krijg ik records van wedstrijden met bijbehorende datum en lokatie. Welk stukje moet dan in welke dimensie van het array komen?
[ code verwijderd ]
geeft als resultaat
[ code verwijderd ]
Hoe krijg ik dat in een md-array? Hoofdarray met alle sid's en datums, en een subarray met wedstrijden op die dag?
1 2 3 4 5 6 | <?php select w_id, s_id, s_datum, w_tijd, t1.t_naam as w_team1, t2.t_naam as w_team2 from wedstrijd, speeldag, team t1, team t2 INNER JOIN speeldag ON (s_id = w_speeldag) INNER JOIN team AS t1 ON (w_team1 = t1.t_id) ?> |
1 | '/([a-z]+)(?=\([0-9]+\))/' |
quote:Op dinsdag 31 januari 2012 16:32 schreef GlowMouse het volgende:
Je moet duidelijker zijn. Voorbeeldtekstjes en wat je precies verwacht.
krom he dat ze mij daar wel begrijpen.......quote:Op dinsdag 31 januari 2012 23:17 schreef GlowMouse het volgende:
http://gathering.tweakers.net/forum/list_messages/1489998
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |