<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wikimirror.piraten.tools/wiki/index.php?action=history&amp;feed=atom&amp;title=HowTo_Statusbalken</id>
	<title>HowTo Statusbalken - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wikimirror.piraten.tools/wiki/index.php?action=history&amp;feed=atom&amp;title=HowTo_Statusbalken"/>
	<link rel="alternate" type="text/html" href="https://wikimirror.piraten.tools/wiki/index.php?title=HowTo_Statusbalken&amp;action=history"/>
	<updated>2026-04-20T03:34:26Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Piratenwiki Mirror</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wikimirror.piraten.tools/wiki/index.php?title=HowTo_Statusbalken&amp;diff=55611114&amp;oldid=prev</id>
		<title>imported&gt;Dagobar am 12. Juli 2013 um 23:24 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wikimirror.piraten.tools/wiki/index.php?title=HowTo_Statusbalken&amp;diff=55611114&amp;oldid=prev"/>
		<updated>2013-07-12T23:24:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Mit dem [[#php-script|Script]] lassen sich einfach die Statusbalken-Banner für die Unterschriften erzeugen. Das alles lässt sich dann super anpassen.&lt;br /&gt;
&lt;br /&gt;
'''Anleitung:'''&lt;br /&gt;
Es gibt 4 verschiedene PNGs, nämlich leer, voll, geschafft, verloren. Hier die Beispiel PNGs:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Statusbalken-Leer.png]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Statusbalken-Voll.png]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Statusbalken-Geschafft.png]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Statusbalken-Verpasst.png]]&lt;br /&gt;
&lt;br /&gt;
Natürlich nicht gemischt, Europawahl/Buntestagswahl ... aber das ist ja auch nur ein Beispiel.&lt;br /&gt;
Die Bilder haben alle unten noch einen weißen streifen, weil ganz darunter noch eine Stand-Zeile eingasetzt wird. Das ganze sieht dann durch das .php etwa so aus&lt;br /&gt;
&lt;br /&gt;
[[Bild:Statusbalken-Beispiel.png]]&lt;br /&gt;
&lt;br /&gt;
Damit das alles klappt musste einige Variabeln im php ausfüllen. Die sprechen aber eigentlich alle für sich. Mit den &amp;quot;Die koordinaten&amp;quot; sind immer die Pixelkoordinaten gemeint. Hier zum Beispiel die Koordinaten des ersten Balkens:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Statusbalken-Koordinate.png]]&lt;br /&gt;
&lt;br /&gt;
Diese Angaben finden sich hier im php-script:&lt;br /&gt;
&lt;br /&gt;
 //Die koordinaten des ersten (prozent) Balken&lt;br /&gt;
 $balken1_obenlinks_x = 95;&lt;br /&gt;
 $balken1_obenlinks_y = 29;&lt;br /&gt;
 $balken1_untenrechts_x = 428;&lt;br /&gt;
 $balken1_untenrechts_y = 42;&lt;br /&gt;
&lt;br /&gt;
Dann musst Du noch daran denken, dass Du die Schriften die eingesetzt werden als TTF auch in dem Verzeichnis liegen hast. In dem Beispiel ist das die Impact &amp;quot;IMPACT.TTF&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Zum Schluss noch das (fast) wichtigste. Du musst noch eine einfache Textdatei hochladen (im Beispiel &amp;quot;status.txt&amp;quot;) in der einfach nur der aktuelle Unterschriften stand drinsteht. &lt;br /&gt;
&lt;br /&gt;
Wenn Du alles richtig machst, kannste auf das status.php einfach wie auf ein bild verweisen. Also einfach:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;http://www.DieURLzumScript.de/status.php&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aber hier nun endlich das &lt;br /&gt;
&lt;br /&gt;
== php-script ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Vars ####################&lt;br /&gt;
&lt;br /&gt;
//Hier den Pfad und den Namen der Datei, in der alle Balken 100% haben&lt;br /&gt;
$im_100 = ImageCreateFromPNG(&amp;quot;voll.png&amp;quot;); &lt;br /&gt;
//Hier den Pfad und den Namen der Datei, in der alle Balken 0% haben&lt;br /&gt;
$im_0 = ImageCreateFromPNG(&amp;quot;leer.png&amp;quot;);&lt;br /&gt;
//Hier den Pfad und den Namen der Datei, die beim erreichen angezeigt werden soll&lt;br /&gt;
$ERREICHT = ImageCreateFromPNG(&amp;quot;geschafft.png&amp;quot;);&lt;br /&gt;
//Hier den Pfad und den Namen der Datei, die bei NICHT erreichen angezeigt werden soll&lt;br /&gt;
$NICHT_ERREICHT = ImageCreateFromPNG(&amp;quot;verpasst.png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//Hier den Pfad und den Namen der Datei,in der der aktuelle Stand steht&lt;br /&gt;
$zahl_aktuell = file_get_contents(&amp;quot;status.txt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//Bei wieviel ist das Ziel erreicht?&lt;br /&gt;
$zahl_erreicht = 4000;&lt;br /&gt;
&lt;br /&gt;
//Die koordinaten des ersten (prozent) Balken&lt;br /&gt;
$balken1_obenlinks_x = 95;&lt;br /&gt;
$balken1_obenlinks_y = 29;&lt;br /&gt;
$balken1_untenrechts_x = 428;&lt;br /&gt;
$balken1_untenrechts_y = 42;&lt;br /&gt;
&lt;br /&gt;
//Die koordinaten des zweiten (tage) Balken&lt;br /&gt;
$balken2_obenlinks_x = 95;&lt;br /&gt;
$balken2_obenlinks_y = 45;&lt;br /&gt;
$balken2_untenrechts_x = 428;&lt;br /&gt;
$balken2_untenrechts_y = 58;&lt;br /&gt;
&lt;br /&gt;
//Die größe der Prozentzahl in Balken1&lt;br /&gt;
$groesse_prozentzahl_px = 9;&lt;br /&gt;
//Pfad und Dateiname der Schrift, für die Darstellung der Prozentzahl&lt;br /&gt;
$font_prozent = &amp;quot;IMPACT.TTF&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//Die größe der Tageszahl in Balken2&lt;br /&gt;
$groesse_tageszahl_px = 9;&lt;br /&gt;
//Pfad und Dateiname der Schrift, für die Darstellung der Tageszahl&lt;br /&gt;
$font_tage = &amp;quot;IMPACT.TTF&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//Datum vom Start der Aktion&lt;br /&gt;
$datum_start = &amp;quot;1/1/2009&amp;quot;; // TT/MM/JJJJ&lt;br /&gt;
&lt;br /&gt;
//DAtum vom Ende der Aktion&lt;br /&gt;
$datum_ende = &amp;quot;19/12/2009&amp;quot;; // TT/MM/JJJJ&lt;br /&gt;
&lt;br /&gt;
//Koordinaten von dem Raum, in dem die absolute verbleibende Anzahl rein soll&lt;br /&gt;
$anzahl_bis_erreichen_pos_ol_x = 57;&lt;br /&gt;
$anzahl_bis_erreichen_pos_ol_y = 6;&lt;br /&gt;
$anzahl_bis_erreichen_pos_ur_x = 111;&lt;br /&gt;
$anzahl_bis_erreichen_pos_ur_y = 24;&lt;br /&gt;
&lt;br /&gt;
//Pfad und Dateiname der Schrift, für die Darstellung der Verbleibe-Anzahl&lt;br /&gt;
$font_anzahl = &amp;quot;IMPACT.TTF&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//Koordinaten der Aktuellen-Stand-Zeile&lt;br /&gt;
$stand_pos_x = 0;&lt;br /&gt;
$stand_pos_y = 89;&lt;br /&gt;
&lt;br /&gt;
//Hier die Standzeile. &lt;br /&gt;
$stand = &amp;quot;Stand: &amp;quot;.date(&amp;quot;d. m. Y&amp;quot;,filectime(&amp;quot;status.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
##########################################################################&lt;br /&gt;
### Ab hier Finger weg, wenn Du noch weniger von php verstehst als ich ###&lt;br /&gt;
###  und mein dilettantischer php-Code spricht ja eigentlich für sich  ###&lt;br /&gt;
##########################################################################&lt;br /&gt;
header (&amp;quot;Content-type: image/png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$jetzt = time();&lt;br /&gt;
&lt;br /&gt;
$datum = explode(&amp;quot;/&amp;quot;,$datum_start);&lt;br /&gt;
$datum_start = mktime(0,0,0,$datum[1],$datum[0],$datum[2]);&lt;br /&gt;
&lt;br /&gt;
$datum = explode(&amp;quot;/&amp;quot;,$datum_ende);&lt;br /&gt;
$datum_ende = mktime(23,59,59,$datum[1],$datum[0],$datum[2]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$sekunden_bis_ende = $datum_ende - $jetzt;&lt;br /&gt;
$sekunden_gesamt = $datum_ende - $datum_start;&lt;br /&gt;
&lt;br /&gt;
$tage_bis_ende = tage($sekunden_bis_ende) ;&lt;br /&gt;
$tage_gesamt = tage($sekunden_gesamt) ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function tage ($sekunden) {&lt;br /&gt;
    $td['dif'] = $sekunden;&lt;br /&gt;
    $td['sec'] = $td['dif'] % 60; &lt;br /&gt;
    $td['min'] = (($td['dif'] - $td['sec']) / 60) % 60;     &lt;br /&gt;
    $td['std'] = (((($td['dif'] - $td['sec']) /60) - $td['min']) / 60) % 24;    &lt;br /&gt;
    $td['day'] = round( ((((($td['dif'] - $td['sec']) /60) - $td['min']) / 60) / 24) );    &lt;br /&gt;
	$tdx = $td['day'];    &lt;br /&gt;
    return $tdx;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$prozent_verstrichen = round($sekunden_bis_ende * 100 / $sekunden_gesamt);&lt;br /&gt;
&lt;br /&gt;
$breite_balken1_px = $balken1_untenrechts_x - $balken1_obenlinks_x;&lt;br /&gt;
$breite_balken2_px = $balken2_untenrechts_x - $balken2_obenlinks_x;&lt;br /&gt;
&lt;br /&gt;
$balken1_hoehe = $balken1_untenrechts_y - $balken1_obenlinks_y;&lt;br /&gt;
$balken2_hoehe = $balken2_untenrechts_y - $balken2_obenlinks_y;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$anzahl_bis_erreichen = $zahl_erreicht - $zahl_aktuell;&lt;br /&gt;
$prozent_erreicht = floor(($zahl_aktuell*100)/$zahl_erreicht);&lt;br /&gt;
&lt;br /&gt;
$breite_balken1_erreicht_px = round(($breite_balken1_px / 100) * $prozent_erreicht);&lt;br /&gt;
&lt;br /&gt;
$breite_balken2_erreicht_px = round(($breite_balken2_px / 100) * $prozent_verstrichen);&lt;br /&gt;
$balken2_start_x = $balken2_untenrechts_x - $breite_balken2_erreicht_px;&lt;br /&gt;
&lt;br /&gt;
$farbe = imagecolorclosest ($im_0,0,0,0);&lt;br /&gt;
&lt;br /&gt;
$prozentzahl_pos_x = $balken1_obenlinks_x + ($breite_balken1_erreicht_px / 2) - 7;&lt;br /&gt;
$prozentzahl_pos_y = $balken1_untenrechts_y - floor(($balken1_hoehe - $groesse_prozentzahl_px) / 2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if ($zahl_aktuell &amp;lt; $zahl_erreicht) {&lt;br /&gt;
&lt;br /&gt;
if ($tage_bis_ende &amp;gt;= 1) {&lt;br /&gt;
&lt;br /&gt;
ImageCopy($im_0,$im_100,$balken1_obenlinks_x,$balken1_obenlinks_y,$balken1_obenlinks_x,$balken1_obenlinks_y, $breite_balken1_erreicht_px  ,$balken1_hoehe);&lt;br /&gt;
&lt;br /&gt;
ImageCopy($im_0,$im_100,$balken2_start_x,$balken2_obenlinks_y,$balken2_start_x,$balken2_obenlinks_y, $breite_balken2_erreicht_px  ,$balken2_hoehe);&lt;br /&gt;
&lt;br /&gt;
imagestring($im_0, 1, $stand_pos_x,$stand_pos_y,$stand,$farbe);&lt;br /&gt;
&lt;br /&gt;
imagefttext  ($im_0, $groesse_prozentzahl_px , 0, $prozentzahl_pos_x   , $prozentzahl_pos_y  , $farbe , $font_prozent  , $prozent_erreicht.&amp;quot;%&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$prozentzahl2_pos_x = $balken2_start_x + ($breite_balken2_erreicht_px / 2) - 16;&lt;br /&gt;
if ($breite_balken2_erreicht_px &amp;lt; 50) {&lt;br /&gt;
$prozentzahl2_pos_x = $balken2_start_x - 35;&lt;br /&gt;
}&lt;br /&gt;
$prozentzahl2_pos_y = $balken2_untenrechts_y - floor(($balken2_hoehe - $groesse_prozentzahl_px) / 2);&lt;br /&gt;
&lt;br /&gt;
if ($tage_bis_ende &amp;gt; 1) {&lt;br /&gt;
$e = &amp;quot;e&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
imagefttext  ($im_0, $groesse_tageszahl_px , 0, $prozentzahl2_pos_x   , $prozentzahl2_pos_y  , $farbe , $font_tage  , $tage_bis_ende.&amp;quot; Tag&amp;quot;.$e);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$anzahl_bis_erreichen_hoehe = $anzahl_bis_erreichen_pos_ur_y - $anzahl_bis_erreichen_pos_ol_y;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$groesse = imagefttext  ($im_100, $anzahl_bis_erreichen_hoehe , 0, $anzahl_bis_erreichen_pos_ol_x  , $anzahl_bis_erreichen_pos_ur_y  , $farbe , $font_anzahl  , $anzahl_bis_erreichen);&lt;br /&gt;
&lt;br /&gt;
$anzahl_bis_erreichen_breite = $anzahl_bis_erreichen_pos_ur_x - $anzahl_bis_erreichen_pos_ol_x;&lt;br /&gt;
$anzahl_bis_erreichen_offset =  round(($anzahl_bis_erreichen_pos_ur_x - $groesse[2]) / 2);&lt;br /&gt;
&lt;br /&gt;
imagefttext  ($im_0, $anzahl_bis_erreichen_hoehe , 0, $anzahl_bis_erreichen_pos_ol_x + $anzahl_bis_erreichen_offset , $anzahl_bis_erreichen_pos_ur_y  , $farbe , $font_anzahl  , $anzahl_bis_erreichen);&lt;br /&gt;
&lt;br /&gt;
ImagePNG ($im_0);&lt;br /&gt;
&lt;br /&gt;
} else {&lt;br /&gt;
ImagePNG ($NICHT_ERREICHT); &lt;br /&gt;
}&lt;br /&gt;
} else {&lt;br /&gt;
ImagePNG ($ERREICHT); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HowTo&lt;br /&gt;
| titel      = Statusbalken&lt;br /&gt;
| kategorien = Computer und Technik, Wahlkampf&lt;br /&gt;
| stichworte =&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Dagobar</name></author>
	</entry>
</feed>