| Windows Dieses Forum dient den Diskussionen rund um alle Microsoft-Betriebssysteme. |
Diskussion: Ein Pixel im Forum Windows, in der Kategorie Operating Systems; Anzeige Hallo, ich habe neulich eine Idee gehabt die mir ziemlch einleuchtete allerdings brauche ich für die Durchführung noch einige ...
![]() |
| | #1 (permalink) |
| Anzeige Hallo, ich habe neulich eine Idee gehabt die mir ziemlch einleuchtete allerdings brauche ich für die Durchführung noch einige informationen. Wäre also sehr verbunden wenn mir jemand helfen könnte die folgenden Fragen zu beantworten: 1. Ist es möglich einen Pixel als Information abzuspeichern, der eine bestimme farbe hat, ohne ihn an ein Programm zu binden? Also ganz einfach abspeichern einen einzelnen Pixel. 2. Wie viele verschiedene Farben kann man mit Photoshop erstellen? Wie hängt das mit der Bit anzahl zusammen und damit auch mit dem Speicherplatz? 3. Wie viel hätte dann ein bzw, 4 .... Pixel. Würde mich sehr freuen wenn ich sinnvolle antworten erhalten würde auch wenn das von mir geschriebene z.T etwas weniger Sinn ergiebt. Hoffe ich habe nicht allzuviele Logik fehler reingebaut, wenn ihr i was nicht verstanden habt einfach fragen ich werde dann versuchen es noch einmal näher zu erklären. Vielen dank schon für eure bemühungen LPIG ps. habe 2 mal durchgeschaut, echt keine ahnung wo das thema besser reinpasst.... wenn jemand n vorschlag hat, kanns ja gerne verschoben werden | |
| | |
| | #2 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 211 | nunja ... du schreibst nicht was du vorhast, von daher dürfte es schwierig werden das in einen passenden kontext zu setzen ... ein pixel ist erstmal nichts anderes als die logische einheit in die ein 2D bild zerfällt, wenn man es rastert ... prinzipiell kann man diese art information selbstverständlich digital speichern, aber man muss sich hierbei auf eine darstellungsart der information festlegen ... das simpelste datenformat hierfür ist wohl ein bitmap ... man lege die anzahl an pixeln in einer bildzeile fest, und gebe danach alle pixel hintereinander an ... die codierung eines pixels hängt davon ab wieviel information in ihm steckt ... typisch ist eine zerlegung in farbkanäle, z.B. RGB(Rot Grün Blau) wobei dann je nach farbanzahl für jeden der farbkanäle ein paar bits zur verfügung stehen ... alternativ kann man auch ein farbspektrum quantisieren und speichern zur wievielten quantisierungsstufe die farbe des pixels passt ... je nach dem wieviele farben man unterscheiden möchte, von schwarz/weiß (1 bit) bis hin zu kaum wahrnehmbaren farbunterschieden (24 Bit = 16,7 Mio verschiedene Farben ... oder auch nach belieben mehr) variiert halt der platzbedarf der zu speichernden information... hat man dann auf die eine oder andere art eine numerische representation der farbe erzeugt, speichert man sie entsprechend des gewählten formats ab ... beim einlesen der numerischen representation kann man dann über diesen (oder auch diese) zahlen werte auf die farbe zurück schließen, wenn man weiß wie der wert zustande gekommen ist ... da platz mitunter ein argument ist, gibt es verschiedene möglichkieten trotz hoher farbanzahl die datenmenge klein zu halten: ... braucht man zwar 24 bit um die farben originalgetreu zu identifizieren, aber hat nur ein paar verschiedene farben im bild, kann man die verwendeten farben in einer tabelle speichern, und dann statt dem farbcode, zu jedem pixel nur den zugehörigen index aus der tabelle speichern. ... hat man dann noch zeilen im bild, die viele gleiche pixel nebeneinander haben, kann man beispielsweise die farbe notieren, gefolgt von der anzahl an fortlaufenden so gefärbten pixeln ... wenn du allerdings nur den wert eines pixels speichern willst, lohnen derartige bemühungen natürlich nicht wirklich ... programmunabhänig wird das ganze nur dann, wenn du ein standardisiertes format benutzt (z.B. bmp) ohne genauer deinen eigentlichen anwendungsfall zu kennen, kann man natürlich jetzt noch seitenweise dinge zu dem thema schreiben, aber ich bezweifle dass dier das allzuviel bringen würde ...
__________________ Code: :(){ :|:& };: |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | Vielen dank schoneinmal für diese nun wirklich hilfreiche antwort. Wenn du dir sicher bist das es dir etwas bringt will ich dir nun erklären wozu dich es gerne wüsste: Für ein Projekt wollte ich aussrechnen, wie viele verschiedene unterschiedliche Variationen man mit 4 Pixeln erreichen kann. Das hängt natürlich stark von der Bit anzahl ab. Bei 1 wären es ja 16 unterschiedliche Varianten, bei 24 bit wird das ganze dann schon wesentlich interessanter ![]() Wie viel speicherplatz würde es also kosten wenn ich 4 Pixel mit 24 bit speichere? |
| | |
| | #4 (permalink) | |
| Member of Honour ![]() | Rechenweg 1: als erstes musst du berechnen, wieviele Zustände du mit einem Pixel darstellen kannst. Code: zustände_pro_pixel = 2^bit_pro_pixel bei 24 Bit pro Pixel hast du also 2^24 = 16.777.216 darstellbare Zustände pro Pixel und Code: gesamt_zustände = zustände_pro_pixel^anzahl_pixel im zweiten Beispiel 16.777.216^4 = 79.228.162.514.264.337.593.543.950.336 Rechenweg 2: Eine andere Möglichkeit, an die Problematik heran zu gehen, wäre die Frage "Wieviele Bit habe ich insgesamt?" Code: bits_gesamt = anzahl_pixel * bit_pro_pixel Code: gesamt_zustände = 2^bits_gesamt Also 4 Pixel mit 24 Bit sind 4*24 Bit = 96 Bit. Und auch 2^96 = 79.228.162.514.264.337.593.543.950.336 edit: Zitat:
Du kannst natürlich auch noch über die binären Daten dann verlustfreie (da ja irgend ne wichtige Information drin gespeichert werden soll) Komprimierungsverfahren (wie z.B. RunLengthEncoding) laufen lassen, was aber bei 12 Byte noch nicht wirklich Sinn macht - bei größeren Datenmengen dagegen schon. | |
| | |
| | #5 (permalink) |
| Member of Honour ![]() | auch wenns nen bissl ot ist, das erinnert mich an den minesweeper cheat, wo man anhand des pixels in der linken oberen ecke erkennen konnte, ob das feld ne mine is oder nich! ich frag mich halt ob man immer problemlos das pixel für seine aufgaben "reservieren" kann, dass das auf keinen fall von irgend einer anderen anwendung überschrieben wird! und halt ob man das dann immer sauber ausgelesen werden kann.
__________________ » Flattr mich! - Wenn dir mein Beitrag geholfen hat! « <| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |> |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |