Pixelfarbe oder Farbe eines Pixelblocks der größe 16*16 ändern

bubblepoint

Grünschnabel
Hallo Leute!

Ich würde gerne die Farbe eines Pixels oder aber eines Pixelblocks von einer größe 16*16 stündlich ändern.

Und zwar soll der Pixel von Schwarz zu weiß wechseln, jedoch nur einmal und dort dann bleiben, Ziel ist, dass nach ein paar Tagen der gesamte bg schwarz ist und es dann auch bleibt.

Leider habe ich dafür keine ausreichenden Kenntnisse, aber die Idee ist schon lange in meinem Kopf, ich weiß leider nur nicht, wie ich das realisieren soll.

Ich denke, dass kann man über javascript machen, richtig? Ich habe schon gelesen, dass man mit js eben die Hintergründe in einem bestimmten Intervall ändern kann, aber dies ist jedoch immer auf den gesamten bg bezogen und nicht auf einzelne Pixel.

Kann mir wer helfen?

Ich danke schon jetzt für die HIlfe!

Viele Grüße,

bubble
 
Hi und Willkommen bei tutorials.de,

soll
a) Die Seite am Anfang weiß sein, und wenn man sie
Stunden später wieder aufruft teilweise schwarz usw.

b) Die Seite während dem Anschauen schwärzer werden,
und wenn sie neu geöffnet wird wieder von vorn beginnen

oder...?
 
Hey,

wow, das geht ja schnell hier :D

Also die Idee von mir ist, dass die Seite einen komplett weißen Hintergrund hat und die Farbe eines Pixels oder aber eines Pixelblocks stündlich zu schwarz ändert, unabhängig davon, ob die Seite gerade angeschaut wird oder nicht.


b)
Nein, das Ganze soll nicht von vorne beginnen, sobald der Bildschirm komplett schwarz ist ( als Basis könnte man eine größe von 1920 * 1080 nehmen ), soll es auch so bleiben und das Ganze stoppen.

:)
 
Aber soll sich das Ganze für den nächsten Seitenaufruf "merken", wo es war?

Die Quadrate, sollen die bei kleineren Bildschirmen auch kleiner werden
oder gleich groß bleiben, dafür weniger werden?

Allgemein...mit JS das Bild njicht komplett wechseln, sondern ändern, dürfte schwierig werden.
Ein div im Hintergrund mit einer Table und eigener Hintergrundfarbe pro Zelle wäre was...hmm
 
mmh, stimmt auch wieder. Wenn es sich die Position merken soll, wäre es ziemlich kompliziert, denke ich.
Ich dachte eher daran, dass es im Hintergrund läuft und stündlich die Farbe eines Pixels ändert,ohne Rücksicht darauf zu nehmen, ob die Seite gerade besucht wird oder erst in ein paar Tagen oder wieder erst nach ein paar Tagen.

Nein, die Quadrate sollten gleich groß bleiben, aber in der Anzahl bestehen bleiben. Wenn ich das Fenster z.B. minimiere, sollte der Content "nach unten rücken", also mit der gleichen Anzahl an Quadraten, sodass man eben runterscrollen muss.

Ich dachte zuerst an php und einer simplen textdatei, aber dort alle stunde lang meinetwegen einen Punkt einzufügen wäre dann doch ein wenig kompliziert.
An eine Tabel habe ich so noch nicht gedacht, könnte aber was werden. Das soll kein Supergroßes Projekt werden, das ist nur eine kleine IDee von mir, es soll eher was fürs Auge sein ( ok, so doll ist das auch nicht ;) ).
 
Ah, da kommen wir der Sache schon näher.
Das Hintergrund-Schwarz-weiß soll also für die gesamte Welt gleich sein.
Bis jetzt dachte ich, jeder Besucher hat seinen eigenen Füllstand.

Und bei einzelnen Pixel statt 16x16-Blöcke macht die Tabellenmethode Probleme.

Würde da eher zu PHP kombiniert raten.

a) Das Hintergrundbild als feste Datei (komplett weiß) wo speichern
und normal als Hintergrund in HTML einbinden.
b) Per Javascript bei geöffneter Seite zB. jede Minute das Bild holen, falls es geändert ist.
c) Mit einem Cronjob und PHP jede Stunde das abgespeicherte Bild schwärzen.

PS: Nach unten rücken passt wieder nicht in das Konzept...
Dazu fallen mir zurzeit keine sinnvollen Lösungen ein.
Das Runterrücken geht nicht bei einem Bild, nur mit HTML-Elementen.
Und die in Pixelgröße über den ganzen Bildschirm...nicht gut für den Computer.
 
Genau! Der Hintergrund ist für alle der selbe, keine Ausnahmen.

Ok, jetzt ist nur noch die Frage, wie man das mit PHP und Javascript macht.

Muss ich dafür extra ein Bild laden, also meinetwegen ein .*jpg Bild? Wäre es nicht einfacher, wenn man das über css macht?
 
So, wieder da.

Über css schon; du bindest ganz normal ein jgp-Bild (oder png, gif, etcetc) ein.
HTML:
<body style="background-image:hintergrund.jpg;">
oder das style in eine eigene css-Datei auslagern, ist egal.
Das hintergrund.jpg ist ein ganz weißes Bild (am Anfang).

Und am Server läuft jetzt ein Cronjob (quasi ein PHP-Skript, das regelmäßig
von selbst gestartet wird, zB. jede Stunde).
Dieses Skript ändert das hintergrund.jpg, macht also entsprechende Schwarzbereiche dazu.
Wieviel schon schwarz ist kann man entweder aus dem Bild entnehmen
oder zB. in einer Textdatei eine Nummer speichern, wieviel Pixel schon schwarz gemacht sind.

Teil drei ist dann, wenn jemand die Seite offen hat ohne neu zu laden.
Dann bleibt das Bild normalerweise am Stand vom Seitenöffnen,
auch wenn es am Server schon schwärzer ist.
Deswegen mit Javascript (regelmäßig per Timer) das Hintergrundbild neu laden.
 
ok, das hört sich schon mal gut an. Mit CSS und HTML kenne ich mich schon aus ;)

Jedoch weiß ich nicht, wie ich das mit PHP und Javascript lösen soll, gibt es dazu vielleicht tutorials, wenn ja, wo finde ich die?

Ich hätte kein Problem damit, mir das anzulesen, aber im Moment weiß ich nicht, wie ich das realisieren soll, aber ich denke, so wie du das vorgeschlagen hast, würde es ziemlich gut laufen :D
 
Zuerst den PHP-Teil:

Paar Stichworte/funktionen:
imagecreatefromjpeg und imagesetpixel etc. von PHP GD
Außerdem, für die Textdatei mit der Pixelnummer: fopen, fscanf, fprintf, fclose

Prinzipieller Ablauf:

-Textdatei öffnen (zB. schon_schwarz.txt oder irgendwas)
-Schwarzpixelzahl auslesen
-Textdatei schließen
-Wenn es noch keine Datei gegeben hat: Anzahl ist 0
-Dann Jpg-Bild laden
-Breite und Höhe abfragen (die sind in Pixeln)

-Wenn die Schwarzzahl der Textdatei größer
oder gleich Breite*Höhe ist, ist das ganze Bild schon schwarz -> beenden.

-Sonst weiter: Einen weiteren Pixel schwärzen
(Wenn zB. das Bild 200 lang und 100 hoch ist und schon 644 Pixel schwarz sind,
muss jetzt der Pixel mit Koordinaten 4x45 schwarz gemacht werden.
Kann man ja ausrechnen (lassen))

-Bild wieder in die Jpg-Datei speichern
-Textdatei öffnen
-die neue Schwarzpixelanzahl (um 1 erhöht) reinschreiben
-Textdatei schließen


Ist nicht viel.
Stell das dann einmal rein, zum drüberschaun.
Dann gehts mit dem Cronjon weiter.
 
Zurück