SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.10.2016, 17:29:02
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 44
Beiträge: 236
tsunamitsunami befindet sich auf einem aufstrebenden Ast
gute Zufallsfarben

Hallo,
ich möchte eine Grafik generieren. Einfach eine Kreisdiagramm mit den Kosten der jeweiligen Abteilung. Die Anzahl de abteilungen kann schwanken. Also mal 5, mal 20 und mal 18 Abteilungen.
Ich kann natürlich einfach rand(0,255) nehmen. Nur dann kann es passieren, dass ich 3 Rottöne habe und 12 Blautöne, was nicht schön aussieht.
Ich bräuchte also etwas mit genügend Abstand.

Ich habe einen Ansatz:

PHP-Code:
<?php  $rgb_array=array(0,0,0);
$zeiger=3;
$anzahl_abteilungen=12;
$quotient=round(256/(3*$anzahl_abteilungen));

//********Quotient=7

        
for($x=0;$x<256;$x=$x+$quotient)
        {          
        
$pos=$zeiger%3;
        
        
//*******Pos:0
        
        
$zeiger++;
        
        
//*********Zeiger=4
        
        
echo "Position: ".$pos." - Wert. ".$rgb_array[$pos]."<br>";
        
//*********** Wert an Pos 0 
         
$rgb_array[$pos]= $rgb_array[$pos]+$quotient;
         
         
//************** Wert an Pos 0=7
        
}
        
//**********Kreisdiagramm******************
  
    
    
....
    
?>
Nur dann habe ich
0,0,0,
7,7,7
14,14,14...

Was ich vom Gefühl her bräuchte:
0,0,0
7,0,0
0,7,0
0,0,7
Als Test habe ich 12 Abteilungen, 256/12 =21 /3 Farben =7 als Quotient. Rot oder Grüntöne können natürlich mehrere sein und müssen bei entsprechender Anzahl auch sein (max 50 würde ich sagen), aber halt nicht nebeneinander. Soll ja kein Farbverlauf werden.
Sonst passiert sowas:

http://screencast.com/t/hv5B4DwfZ0K

Und sowas wäre gut:
http://screencast.com/t/FwEmxpryt6
Mit Zitat antworten
  #2  
Alt 25.10.2016, 15:01:26
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.571
vt1816 hat die Renommee-Anzeige deaktiviert
vt1816 eine Nachricht über Skype™ schicken
AW: gute Zufallsfarben

Habe zwar nicht die einzig wahre Lösung, würde jedoch - wenn es um eine begrenzte Anzahl von Farben geht - mir die Mühe machen, neben den Grundfarben (Rot, Grün, Blau, Cyan, Magenta, Gelb, Weiß und Schwarz) noch eine beliebige Anzahl von selbst gewählten Farben als Strings in ein Array schreiben (zb. $color = array("0,0,0", ..., Wunschfarben, ... "255,255,255")) und bei Bedarf die benötige Anzahl von Elementen abfragen.

Vorteil: Du kannst die Farben nach Deinen Vorstellungen auswählen und auch sortieren.

Oder Du schaust Dir mal die einschlägigen Bibliotheken, die Diagramme mittels PHP zeichnen (können), an.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 25.10.2016, 15:21:48
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 44
Beiträge: 236
tsunamitsunami befindet sich auf einem aufstrebenden Ast
AW: gute Zufallsfarben

Vielen Dank!

Das habe ich auch schon gedacht. Allerdings habe ich dasselbe Problem, oder?
Angenommen, ich nehme 150 Farben als Array.
Dann brauche ich 12. Entweder hole ich mir 12 zufällige raus oder die ersten 12.

Was ich suche oder mir vorschwebt ist sowas wie.
$altefarbe=irgendeinehexzahl;
$neuefarbe=$irgendeinehexzahl
wenn $neuefarbe-$altefarbe <= 45 (Abstzamd) wähle andere farbe, sonst mache nichts.
Das also zwischen den Zahlen genug Abstand ist.
Oder OK, festlegen. Mehr als 100 werden es nie. Nur dann muss ich die Farben händisch im String/Array sortieren. Sonst habe ich uU zb 0,0,255 neben 5,10,245 und das sieht kein Mensch als Unterschied. Oder sowas wie Komplementärdarben. So dass man quasi 2 Arrays hat und dann immer wechselt...
Mit Zitat antworten
  #4  
Alt 25.10.2016, 18:26:08
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 44
Beiträge: 236
tsunamitsunami befindet sich auf einem aufstrebenden Ast
AW: gute Zufallsfarben

Ich habe nun eine Funktion gefunden:
PHP-Code:
function hex2rgb($hex) {
   
$hex str_replace("#"""$hex);

   if(
strlen($hex) == 3) {
      
$r hexdec(substr($hex,0,1).substr($hex,0,1));
      
$g hexdec(substr($hex,1,1).substr($hex,1,1));
      
$b hexdec(substr($hex,2,1).substr($hex,2,1));
   } else {
      
$r hexdec(substr($hex,0,2));
      
$g hexdec(substr($hex,2,2));
      
$b hexdec(substr($hex,4,2));
   }
   
$rgb = array($r$g$b);
   
//return implode(",", $rgb); // returns the rgb values separated by commas
   
return $rgb// returns an array with the rgb values

Aber nun habe ich ein Array mit RGB Werten. Implode macht mir daraus einen String. Ich brauche das auber doch als dezimal werte...
Mit Zitat antworten
  #5  
Alt 26.10.2016, 12:54:31
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 44
Beiträge: 236
tsunamitsunami befindet sich auf einem aufstrebenden Ast
AW: gute Zufallsfarben

Ok, habs mit ner Krücke gelöst. 30 Farbzahlen manuell in ein Array geschrieben und dabei auf die Reihenfolge geachtet.

Eigendlich suhe ich noch was eleganteres. Startfarbe, was weiß ich fffff und Komplemenärfarbe +30/50/56
Das als neue farbe usw.
Mit Zitat antworten
Antwort

Stichworte
farben zufall


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gute PHP-Toolbar gesucht FabianWesner PHP Grundlagen 0 03.07.2007 12:46:44
Gute mySQL docu bzw. Reverenz Generator MySQL 5 19.07.2006 13:41:49
Suche gute PHP mailinglist Thunder Off Topic Area 1 16.11.2003 09:19:13
SEHR OFF TOPIC: Kennt jemand gute Sci Fi bücher? Matt PHP Grundlagen 1 21.01.2003 21:05:19
gute php Klassen (class) doudie PHP für Fortgeschrittene und Experten 10 12.12.2002 12:28:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:53:49 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.


© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt