InternInhaltsverzeichnisGlossarBausteineLinklisteTutorialsKommentare

Thema: PHP - Farbbalken mit Farbänderung je nach Prozent Artikel anzeigen

Jan schrieb am Montag, den 20 September 2021 #1
Ist es möglich, zu berechnen welche HEX Farbe dunkler ist?
z.B. von a6a0a3 und 27191a
Werner schrieb am Montag, den 20 September 2021 #2
Hier meine tests dazu, die dritte Lösung gefällt mir am besten:

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
<?php
$farbe1 
"27191a";
$farbe2 "a6a0a3";

if (
$farbe1 $farbe2) {
 echo 
'Ja /';
}
else {
 echo 
'Nein /'// Ausgabe: Nein
}

// oder

if (hexdec($farbe1) > hexdec($farbe2)) {
 echo 
'Ja ';
}
else {
 echo 
'Nein '// Ausgabe: Nein
}

// oder

$ar = ["27191a""a6a0a3"];

echo 
min($ar); // Ausgabe: 27191a

//echo max($ar);
?>
Jan ✶✶✶✶✶ schrieb am Montag, den 20 September 2021 #3
Super, vielen Dank!
Mit deiner Lösung und was ich bis jetzt gefunden habe.

$R = hexdec(substr($HexFarbe,1,2));
$G = hexdec(substr($HexFarbe,3,2));
$B = hexdec(substr($HexFarbe,5,2));

Bekomme ich bestimmt ans Ziel.
Jan ✶✶✶✶✶ schrieb am Dienstag, den 21 September 2021 #4
Hast du eine Empfehlung wie man schnell am besten an die Dominanteste Farbe vom einem Bild kommt?
Benötige ein Script das Feststellen kann ob es noch Nacht ist oder Tag. Habe Mir eine Funktion geschrieben die perfekt funktioniert. Nur leider benötigt das Script bei vielen Bildern etwas lange bis die Seite geladen wird.

Hier meine Idee:

function NachtTag($img, $Rot, $Gelb, $Blau)
{
$image = imagecreatefromjpeg($img);
$newImg = imagecreatetruecolor(1, 1); // FIND DOMINANT COLOR
imagecopyresampled($newImg, $image, 0,0,0,0,1,1, imagesx($image), imagesy($image));
$HexFarbe = "#".dechex(imagecolorat($newImg, 0, 0)); // RETURN HEX COLOR

$R = hexdec(substr($HexFarbe,1,2));
$G = hexdec(substr($HexFarbe,3,2));
$B = hexdec(substr($HexFarbe,5,2));
echo $R.','.$G.','.$B;

if ($Rot > $R && $Gelb > $G && $Blau > $B)
{
echo "dunkel";
}
else
{
echo "hell";
}
}

Mit diesen Werten kann man die Feinabstimmung machen.
NachtTag($image, 35, 30, 30);

Bei einem Bild ist das Script blitzschnell. Nur bei einigen Hundert dauert es mir zulange bis die Seite geladen wird.

Evt. hast du einen kürzeren Weg der schneller ist.
Werner schrieb am Dienstag, den 21 September 2021 #5
Hallo Jan,
anhand des Bildes und der Uhrzeit, wann es aufgenommen wurde, kann man (der Benutzer) doch erkennen, ob es hell oder dunkel ist!

Die image-Funktionen sind leider alle sehr rechenintensiv.
Gibt es denn keine andere Möglichkeit als das so viele Bilder auf einer Seite angezeigt werden?

» werner-zenk.de/scripte/daten_auf_mehreren_seiten_aufteilen.php#bilder
... Nur ein Vorschlag.
Jan ✶✶✶✶✶ schrieb am Dienstag, den 21 September 2021 #6
Hallo Werner
Es funktioniert eigentlich alles super. Läuft auch alles vollautomatisch. Habe jetzt mal von Hand festgelegt dass als Standard alle Bilder von 6:00 bis 20:15 gezeigt werden. Der Besucher kann den Zeitraum auch selber wählen. Nur verschiebt sich ja die Helligkeit je nach Jahreszeit.
Jan ✶✶✶✶✶ schrieb am Dienstag, den 21 September 2021 #7
Nach dem kann ich auch nicht gehen...

Hier steht im September ist der Sonnenaufgang um 7.06 aber auf der Kamera ist sieht man schon ab 6.30 dass es heller wird. :)
laenderdaten.info/Europ[…]ergang.php
Werner schrieb am Mittwoch, den 22 September 2021 #8
Das ist halt eine richtige "programmierer Seite", da fehlt noch ein Design. Das gleiche Problem habe ich übrigends auch auf meiner Site :D

Manchmal werden Bilder nicht geladen: Siehe - » werner-zenk.de/test/ms.png mit Browser: Microsoft Edge (Chromium).
Vielleicht wäre folgendes Script etwas für dich: » werner-zenk.de/scripte/berechnungen_mit_dem_datum.php#sonnua
Jan ✶✶✶✶✶ schrieb am Mittwoch, den 22 September 2021 #9
Ha, du bist super. Genau das gleiche mit sunset und sunrise dachte ich mir auch. Bin seit gestern dran das so zu lösen 🙂

Oh danke für den Screenshot. Bin erstaunt. Wo könnte das Problem liegen dass teils nicht alle Bilder geladen werden? Teste auch mit diversen Browsern. Hatte das bis jetzt noch nie. 😕
Jan ✶✶✶✶✶ schrieb am Mittwoch, den 22 September 2021 #10
Habe es nun so gemacht wie du empfohlen hast.
Funktioniert tiptop!

Nur habe ich die nautische Morgen und Abendzeit verwendet.
Erstaunlich wie sich die Zeiten von Tag zu Tag ändern.

Wider mal was neues gelernt... habe noch nie was gehört von bürgerliche,nautischer und astronomische Zeit 😀