Websafe kleurenkiezer Class

Door Joeri , 16 jaar geleden, 3.275x bekeken

ik was met een script bezig voor buttons aan te maken met GD-Library, nu was het probleem dat GD met R, G, B kleuren werkt en in css de HEX kleurstandaard word gebruikt.

De class omvat 2 kleurenkiezers, 1 in een Select Dropdown vorm en 1 met radio select.

In de kleurenkiezers worden enkel de websafe kleuren weergegeven. Al kan je de functies hex_to_rgb() en rgb_to_hex() ook gebruiken voor andere kleuren.

Opmerkingen en voorstellen voor uitbreiding steeds welkom, ik heb wel speciaal geen javascript gebruikt vandaar de keuze van de kleurenkiezers.

Hopelijk heb je er wat aan.

Voorbeeld: http://www.jb-web.net/scripts/php/colorpicker/test.php

Gesponsorde koppelingen

PHP script bestanden

  1. websafe-kleurenkiezer-class

 

Er zijn 18 reacties op 'Websafe kleurenkiezer class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Arwin  vdv
Arwin vdv
16 jaar geleden
 
0 +1 -0 -1
mooi script, alleen zie ik het nut er niet echt van, er zijn er al zo veel op internet.
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
deze is vooral om ineens op eenvoudige wijze de HEX naar RGB om te zetten, dat was de bedoeling om gemakkelijk met GD te kunnen samenwerken, komt er als een mooie array uit hex(FFFFFF)->rgb geeft array($r, $b, $g); en andersom rgb($r,$g,$b) met comma's voor GD ->hex geeft var FFFFFF;

Ik vond het handig dat je niet steeds voor je script zelf moet omzetten van HEX naar RGB en heb daar ineens een volledige kleurenkiezer rond gemaakt
Quote:
dit is wel mijn eerste class, zijn er opmerkingen of aanradingen, dan zijn die meer dan welkom.
Arjan Schuurman
Arjan Schuurman
16 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Notice: Undefined index: bgcolor in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/test.php on line 37

Notice: Undefined offset: 0 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 75

Notice: Undefined offset: 1 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 76

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 78

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 81

Notice: Undefined offset: 2 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 75

Notice: Undefined offset: 3 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 76

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 78

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 81

Notice: Undefined offset: 4 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 75

Notice: Undefined offset: 5 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 76

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 78

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 81


Oo -> Mozilla Firefox 2
Desertme(sander)
desertme(sander)
16 jaar geleden
 
0 +1 -0 -1
Notice: Undefined offset: 0 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 75

Notice: Undefined offset: 1 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 76

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 78

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 81

Notice: Undefined offset: 2 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 75

Notice: Undefined offset: 3 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 76

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 78

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 81

Notice: Undefined offset: 4 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 75

Notice: Undefined offset: 5 in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 76

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 78

Notice: Undefined index: in /home/httpd/vhosts/jb-web.net/httpdocs/scripts/php/colorpicker/class.color_function.php on line 81

met ie 6
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
ja sorry mensen was er nog wat aan het werken, heb getest om 9.45 en voorbeeld staat terug online.

kan iemand even testen en indien nog de errors het mij even laten weten, want hier test alles normaal.

Of krijg je de errors nog steeds??? Was nog wat verbeteringen aan het toepassen.
Desertme(sander)
desertme(sander)
16 jaar geleden
 
0 +1 -0 -1
ja ik krijg ze nog steeds test zelf maar ik klik de hele tijd nu op FF99FF onderin
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
ok heb fout gevonden, ik werk niet met standaard waardes zal ze invoegen, nu heb ik 2 velden met dezelfde naam als je GEEN kleur kiest heb je dat of op de verkeerde submiot knop duwd, onderste submit is voor select bovenste is voor radie, is enkel voor de 2 voorbeelden online te zetten.

Moet nu even weg, bedankt voor de aanmerking zal het vanmiddag aanpassen.
Edit:


Heb 1 submit button gezet. ! opgelet, momenteel MOET je wel een kleur aanduiden of terug die error, dat pas ik vanmiddag aan, het is ook de bedoeling ofwel een radioselect kleur te kiezen OFWEL een dropdown, doe je beide neemt hij enkel die geselecteerde kleur in het dropdown select. Dit omdat beide input names hetzelfde zijn.


nog opmerkingen, zeker niet twijfelen ze te posten he.
Desertme(sander)
desertme(sander)
16 jaar geleden
 
0 +1 -0 -1
ok
Desertme(sander)
desertme(sander)
16 jaar geleden
 
0 +1 -0 -1
he joeri de fout zit hem in kleuren kiezer radio die geeft de errors en de drop down die doet het gwn
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
klopt, na de aanpassing met 1 submit voor 2 zelfde doorvoervelden, mijn fout, als je dus de select leeglaat neemt hij toch de waardes van select en als die leeg zijn is inderdaad de kleuren arry leeg.

Topi, BEDANKT ga het onmiddelijk aanpassen al is het GEEN fout in de Class maar in mijn voorbeeld OMFG / LMAO

Edit:

errors zouden eruit moeten zijn.
Rudie dirkx
rudie dirkx
16 jaar geleden
 
0 +1 -0 -1
Je print dus maar 6^3 van de 255^3 kleuren... Dat is best weinig...

En voor de handigheid kan je een <LABEL> om de radio buttons+text heen gooien, dat je niet hoeft te mikken op de radiobutton, maar ook op de text kan klikken.

En je kan kleuren kiezen, maar waarvoor? Wat gebeurt er mee? Waarom de radiobuttons?

Edit:
Mijnes is deze: http://jouwmoeder.nl/misc/loop_with_colors.php maar zonder coole form elementen en ziet er niet uit want alle kleuren worden door elkaar gegooid. Er staat een briljante (!!) op drunkmenworkhere: http://drunkmenworkhere.org/5.php (je moet m wel zelf maken ;))
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
@t_vercetti: Waarvoor het dient op kleuren te kiezen op websites
voorbeeld van gebruik op: http://www.jb-web.net/scripts/php/GD

Websafe kleuren zijn er 255 dat was meer dan voldoende en ik hou me liever aan websafe kleuren al is dit in het script zeeeer een voudig aan te passen als je in het script het volgende wijzigd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$hex_websafe
= array("00", 33, 66, 99, "CC", "FF");
?>

naar alle hex codes is het al opgelost en heb je alle kleuren.
misschien een idee om toe te voegen aan de Class keuze tss websafe of alle kleuren met step 1, 2, 3, 5 of meer wel oppassen zo dat je niet 1 miljoen kleuren krijgt, voor een colorpicker is dat niet echt aan te raden volgens mij.

Bedankt voor de aanrading foor de <label> aanpassing te doen, ga dat zeker doen.
Bedoeling is om enkel de WEBSAFE kleuren te gebruiken, uiteraard is het eenvoudig aan te passen met alle kleuren als volgd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
style>
table {
border: 0px #000000 solid;
}
td {
border: 1px #000000 solid;
width: 20px;
}
tr {
height: 10px;
}
</style>

<script language='javascript'>
function kleur(hex) {
document.getElementById("kleur").value = "#"+ hex;
}
function leeg() {
document.getElementById("kleur").value = "";
}
</script>

<?
$keer
= "3"; //per hoeveel # komt de kleur te staan? Aan te raden: 3, 5, 7, 15

// hieronde niks meer wijzigen

// het uitvoer van controles voor de waarde van $keer, om problemen te voorkomen

if(!isset($keer) OR $keer == "")
 exit("De variable '<i>keer</i>' bestaat niet of is leeg.<br>Deze is wel nodig, omdat deze aangeeft hoeveel kleuren er komen.");
if(!is_numeric($keer))
 exit("De ingevulde waarde voor de variable '<i>keer</i>' is geen getal.<br>Voer dus een getal in (tussen de 0 en 16).");
if($keer > 16 OR $keer == 0)
 exit("De ingevulde waarde voor de variable '<i>keer</i>' ligt niet tussen de 0 en 17.<br>Dit zou voor problemen gaan zorgen.<br>Voer dus een getal tussen de 0 en de 17 in.");

// hieronder het script dat de kleuren geeft
$kleur = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
echo "<table>
"
;
for($i=0;$i<16;$i=$i+$keer){
 echo "<tr height='5px'>
<td <td width='5px' bgcolor='#"
. $kleur[$i].$kleur[$i].$kleur[$i].$kleur[$i].$kleur[$i].$kleur[$i] ."' onMouseOver='kleur(\"". $kleur[$i].$kleur[$i].$kleur[$i].$kleur[$i].$kleur[$i].$kleur[$i] ."\")'; onMouseOut='leeg()';>&nbsp;</td><td></td>
"
;
  for($j=0;$j<16;$j=$j+$keer){
   for($k=0;$k<16;$k=$k+$keer){
    echo "<td <td width='5px' bgcolor='#". $kleur[$i].$kleur[$i].$kleur[$j].$kleur[$j].$kleur[$k].$kleur[$k] ."' onMouseOver='kleur(\"". $kleur[$i].$kleur[$i].$kleur[$j].$kleur[$j].$kleur[$k].$kleur[$k] ."\")'; onMouseOut='leeg()';>&nbsp;</td>
"
;
   }
  }

 echo "</tr>

"
;
}

echo "</table>";
?>


<input id="kleur" type='text' maxlength='7' size='7'>
PHP Newbie
PHP Newbie
16 jaar geleden
 
0 +1 -0 -1
leuk script, echter is een echo in een function niet echt netjes...
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
@PHP newbie: weet het maar hoe haal je de HTML uit de class in dit geval.
Hipska BE
Hipska BE
16 jaar geleden
 
0 +1 -0 -1
Quote:
dit is wel mijn eerste class, zijn er opmerkingen of aanradingen, dan zijn die meer dan welkom.
Als ik jou was zou ik me nog wat meer verdiepen in classes en OOP.
echo (en zeker met html) hoort al niet goed thuis in een functie, laat staan in een methode van een classe!!!
Rudie dirkx
rudie dirkx
16 jaar geleden
 
0 +1 -0 -1
Hipska (en PHP Newbie),
dat is natuurlijk niet perse waar. Een functie kan je gebruiken om te echo-en, waarom zou het niet mogen? Als je een functie hebt, bijvoorbeeld print_data(), verwacht je zelfs dat ie iets print, niet dat ie het returnt.
Misschien is het in dit geval niet helemaal passend, maar dat het nooit netjes is of 'er niet thuis hoort' is onzin!
De functie heeft als functie om iets te printen! Wat is daar mis mee?
Hipska BE
Hipska BE
16 jaar geleden
 
0 +1 -0 -1
wat er mis mee is dat hij html opmaak ermee echo-t
echo get_code is hier dan beter.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
ok bedankt voor de info, ik zal het proberen aan te passen. Maar hoe is er dan een andere manier om bvb een class of functie te schrijven die output moet geven zoals de deze??

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. websafe-kleurenkiezer-class

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.