php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.11.2010, 21:17  
Neuer Benutzer
 
Registriert seit: 21.01.2009
Beiträge: 21
redwolf befindet sich auf einem aufstrebenden Ast
redwolf eine Nachricht über ICQ schicken
Standard [Erledigt] PNG IDAT Parsen

Hallo,
Ich habe ein Problem:
Ich habe ein PNG Bild welches als Beispiel ertsmal nur aus Rot und Weis besteht
Dieses Bild möchte ich jetzt parsen. Ich weis es gibt libaries zum parsen von png usw. aber ich programmiere es in php nur als Test da ich dort mehr erfahrung habe. Endgültig muss ich es aber für lua programieren
Mein Problem ist jetzt aber das ich die Bytes vom IDAT bereich nicht verstehe!
Weis jemand wie der IDAT Bereich eines PNG Bildes funktioniert?
Wie kann ich ihn am betsen parsen das ich pixel für pixel die farbe bekomme?


lg
Redwolfhome
redwolf ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.11.2010, 21:32  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Wie wär's, wenn du dich erst mal mit der PNG-Spezifikation beschäftigst?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 17.11.2010, 11:05  
Neuer Benutzer
 
Registriert seit: 21.01.2009
Beiträge: 21
redwolf befindet sich auf einem aufstrebenden Ast
redwolf eine Nachricht über ICQ schicken
Standard

Habe ich gemacht aber zu IDAT finde ich nicht alzu viel
hättet ihr eventuell eine adresse für mich?
Das mit IHDR usw. habe ich verstanden aber IDAT?
redwolf ist offline   Mit Zitat antworten
Alt 17.11.2010, 12:18  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

http://www.w3.org/TR/PNG/#11IDAT

Zitat:
The IDAT chunk contains the actual image data which is the output stream of the compression algorithm. See clause 9: Filtering and clause 10: Compression for details.

There may be multiple IDAT chunks; if so, they shall appear consecutively with no other intervening chunks. The compressed datastream is then the concatenation of the contents of the data fields of all the IDAT chunks.
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 17.11.2010, 12:42  
Neuer Benutzer
 
Registriert seit: 21.01.2009
Beiträge: 21
redwolf befindet sich auf einem aufstrebenden Ast
redwolf eine Nachricht über ICQ schicken
Standard

Mh erstmal Danke
Aber jetzt habe ich mal eine Frage. Ich denke das es wohl zu schwer sein wird aber trotzdem stelle ich sie mal.
Ist es möglich selber ein Progrm zu schreiben welches den Datastream kompremiert?
Und wenn ja wie?
Hat jemand zufällig dazu einen Link? Wie RFC 1950 genau functioniert oder die kmpremmierung allgemein?

Damit ihr wisst wofür das ganze ist:
Ich habe ein Gerät welches das Programmieren mit Lua ermöglicht ich kann ohne umstände etwas zeichnen aber das Problem ist das speichern! Ich habe die möglichkeit etwas zu speichern aber die umwandlung in png ist das problem.
Und nun stecke ich am idat teil fest
redwolf ist offline   Mit Zitat antworten
Alt 17.11.2010, 13:13  
Erfahrener Benutzer
 
Benutzerbild von fireweasel
 
Registriert seit: 20.03.2010
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
fireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblick
fireweasel eine Nachricht über ICQ schicken fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken fireweasel eine Nachricht über Skype™ schicken
Standard

Eine der drei Entpackfunktionen die die ZLib-Erweiterung von PHP bereitstellt, müsste funktionieren:

http://www.php.net/manual/en/book.zlib.php

Zitat:
Zitat von redwolf Beitrag anzeigen
Hallo,
Ich habe ein Problem:
Ich habe ein PNG Bild welches als Beispiel ertsmal nur aus Rot und Weis besteht
Dieses Bild möchte ich jetzt parsen. Ich weis es gibt libaries zum parsen von png usw. aber ich programmiere es in php nur als Test da ich dort mehr erfahrung habe.
Deine PHP-Erfahrung müsste dir auch sagen, dass es in PHP am einfachsten ist, createimagefrompng() zu benutzen um PNG-Grafiken bearbeitbar zu machen. Der alternative Weg über das Auslesen von Hand sollte zwar theoretisch möglich sein (im Gegensatz zur bei JPEG benutzten Komprimierung müsste man die von PNG entpacken können), aber soweit mir bekannt ist, hat das noch niemand ernsthaft versucht.

Der Aufbau des IDAT-Chunks ist von vielen Vorbedingungen abhängig. Die Aussage "besteht nur aus roten und weißen Pixeln" ist zu pauschal, denn sie sagt fast nichts über das Bildformat aus.

Zitat:
Endgültig muss ich es aber für lua programieren
In nacktem LUA? Dann viel Spaß!
Es gibt auch für LUA ein LibGD-Modul. Wenn ich mich recht erinnere, war dessen API umfangreicher (u.a. Anim-GIF-Unterstützung) und auch vernünftiger aufgebaut als das für PHP.

Alternativ ist es auch möglich, die LibGD direkt über ihre C-Schnittstelle anzusteuern. Da dürfte aber PHP-GD-Erfahrung nur noch begrenzt helfen.

Zitat:
Mein Problem ist jetzt aber das ich die Bytes vom IDAT bereich nicht verstehe!
Mir deucht, auch die anderen Chunks könnten dir noch Verständnisprobleme bereiten.

Zitat:
Weis jemand wie der IDAT Bereich eines PNG Bildes funktioniert?
Klar, die LibPNG.

Zitat:
Wie kann ich ihn am betsen parsen das ich pixel für pixel die farbe bekomme?
Nimm imagecreatefrompng(). Das erledigt die ganze Arbeit. Wenn du unbedingt wissen willst, wie das intern funktioniert, schau in die PHP-Quelltexte zu dieser Funktion, oder besser in die Quelltexte der Funktionen, die von imagecreatefrompng() aufgerufen werden.

Der IDAT-Chunk enthält keine Farben, nur Werte, die im Zusammenspiel mit den Meta-Daten in diversen anderen Chunks in Farbwerte übersetzt werden können.
fireweasel ist offline   Mit Zitat antworten
Alt 19.11.2010, 13:10  
Neuer Benutzer
 
Registriert seit: 21.01.2009
Beiträge: 21
redwolf befindet sich auf einem aufstrebenden Ast
redwolf eine Nachricht über ICQ schicken
Standard

Wie schon gesagt es ist eigentlich von Lua und deswegen bringen mir die PHP Funktionen nicht viel
Aber ich lasse das hier erst mal ruhen. Ich denke das es zu schwierig ist weil ich auf dem Gerät keine Möglichkeit habe Libarys zu inegrieren. Und die GD Libary ist nicht integriert.
Naja egal aber trotzdem danke euch allen
redwolf ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Seite parsen Charset unbekannt. omex PHP Tipps 2010 3 17.08.2010 09:48
Ajax Content Parsen mittels PHP omex PHP Tipps 2010 4 24.03.2010 22:07
PHP File parsen und auslesen setech PHP Tipps 2010 1 11.03.2010 20:03
HTML Parsen Neuling08 PHP Tipps 2009 6 31.05.2009 13:20
[Erledigt] Nur Parsen, wenn vorher NICHT ein bestimmtes Zeichen steht djscaleo PHP Tipps 2009 23 01.04.2009 15:02
Bitstream parsen djscaleo PHP Tipps 2009 36 28.03.2009 22:04
Dynamische HTML Seite parsen blaus PHP Tipps 2008 10 17.03.2008 14:44
geht das mit parsen?? Dopedouglaz PHP Tipps 2006 6 22.05.2006 14:13
text parsen mit php - tutorial gesucht PHP Tipps 2005-2 2 05.10.2005 11:44
[TEMPLATEENGINE] Problem mit dem Parsen von Arrays imported_Ben PHP-Fortgeschrittene 5 30.07.2005 11:07
Suchstring parsen PHP Tipps 2005 4 04.01.2005 23:29
If-Anweisung parsen TheSkaterFriend PHP Tipps 2007 5 04.01.2005 17:58
[RegEx] Datum/Uhrzeit parsen PHP-Fortgeschrittene 3 08.11.2004 08:58
XML parsen und Probleme mit "&"-Zeichen. PHP Tipps 2004 3 16.10.2004 13:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
png entpacken, png idat parsen, png idat, php read idat chunk, png dekomprimieren, idat png, idat, png parsen, png in byte array entpacken php, png idat chunks, png metadaten, png metadaten auslesen mit php, png idat chunk, php als png parsen, png 2 idat chunks, php read png, png idat pixel, php show all png metadata, php parse png metadata, png decompress

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum