Reacties op het script Hex kleur converten naar RGB kleur
|
Gepost op: 11 september 2006 - 12:17 |
|
|
|
Moderator
|
Hm, dat $hex leeg kan zijn is niet echt zinnig, dus dit kun je achterwege laten.
Ook zou je websafe kleuren om willen zetten naar rgb-waarden.
De volgende variant is wat flexibeler:
<?php
function hex2rgb($hex)
{
$hex = ltrim($hex, '#');
if(strlen($hex) == 3)
{
$new = '';
for($i = 0; $i < 3; $i++) $new .= str_repeat($hex{$i}, 2);
$hex = $new;
}
$rgb = array();
for ($i = 0; $i < 3; $i++) $rgb[] = hexdec(substr($hex, $i*2, 2));
return 'rgb(' . implode(', ', $rgb) . ')';
}
?>
<?php function hex2rgb($hex) { { $new = ''; for($i = 0; $i < 3; $i++) $new .= str_repeat($hex{$i}, 2); $hex = $new; } for ($i = 0; $i < 3; $i++) $rgb[] = hexdec(substr($hex, $i*2, 2)); return 'rgb(' . implode(', ', $rgb) . ')'; } ?>
De volgende invoer wordt nu geaccepteerd (levert telkens rgb(170, 34, 204)):
echo hex2rgb('a2c')."<br />";
echo hex2rgb('aa22cc')."<br />";
echo hex2rgb('#a2c')."<br />";
echo hex2rgb('#aa22cc')."<br />";
echo hex2rgb ('a2c')."<br />"; echo hex2rgb ('aa22cc')."<br />"; echo hex2rgb ('#a2c')."<br />"; echo hex2rgb ('#aa22cc')."<br />";
|
|
|
|
Gepost op: 14 september 2006 - 16:23 |
|
|
|
Crew algemeen
|
Ok FangorN, ik heb jouw variant er ook bijgezet!
Een dingetje ben ik alleen niet met je eens. Jij zegt namelijk dat jouw code websafe kleuren omzet, het voorbeeld dat je geeft is eigenlijk niet websafe, want dan zou je alleen 0, 3, 6 enz. mogen gebruiken. ;) |
|
|
|
Gepost op: 14 september 2006 - 20:50 |
|
|
|
PHP ver gevorderde
|
wat bedoelen jullie met die websafe kleuren?
verder wel handig. |
|
|
|
Gepost op: 15 september 2006 - 18:06 |
|
|
|
Crew algemeen
|
Zoals je waarschijnlijk wel weet is een websafe kleur opgebouwd uit 00, 33, 66, 99, cc en ff. Je kan dus ipv 255^3=16581375 maar 6^3=216 verschillende kleuren maken.
Wat FangorN volgens mij bedoelt is de verkorte schrijfwijze. Je kan daarmee in plaats van #aa22cc ook #a2c gebruiken. Dat wordt door de browser als het zelfde gezien. |
|
|
|
Gepost op: 16 september 2006 - 00:14 |
|
|
|
PHP expert
|
|
|
|
Gepost op: 16 september 2006 - 11:19 |
|
|
|
Crew algemeen
|
Heb ik ook toegevoegd!
Misschien wordt het tijd om een "final version" te maken met jullie ideeën gecombineerd? |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|