![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Erfahrener Benutzer Registriert seit: 30.10.2005
Beiträge: 285
|
Ich habe hier eine Klasse die verschiedene Bildmanipulationen macht. Um das lesen und schreiben von Bildern zu abstrahieren hab ich ne allgemeine Funktion gemacht. Eine Datei einzulesen und den jeweiligen image Befehl zu machen (imagecreatefrom[png|jpeg|gif]) ist kein Problem. Aber hat jemand ne Idee wie ich aus einer Image Resource den passenden imagebefehl mache? Es muss doch möglich sein aus einer ImageResource den Typ zu bekommen und dann die jeweilige ImageFunktion zu laden. Ich würde nämlich den Bildtyp zurückschreiben von dem auch das ursprüngliche ist. |
| | |
| | Nach oben #3 | |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
| Zitat:
__________________ I did it my way - Senseless-Blog | |
| | |
| | Nach oben #4 |
| Neuer Benutzer Registriert seit: 27.11.2007
Beiträge: 5
| getimagesize() kann dir ja im Vorfeld helfen. Wenn du die Datei aber bereits eingelesen hast, sehe ich kein Problem dem Script zu sagen, es soll sich "merken", was für eine Datei es gelesen hat ^^ |
| | |
| | Nach oben #5 |
| Erfahrener Benutzer Registriert seit: 30.10.2005
Beiträge: 285
|
Die Funktionen der Klasse möchte ich vielleicht statisch und unabhängig verwenden da passt das mit den Instanzvariablen nicht so ganz. Angenommen ich lese ein Bild ein und mach dann imagecreatefrompng() Dann kommen noch ein paar Bildfunktionen und dann möchte ich diese Image Resource mit imagepng wohin schreiben. Lässt sich anhand der Image Resource nicht auslesen aus welchem Bildtyp die erstellt wurde um dann den dementsprechenden image... Befehl anzuwenden? Mit imagesx() krieg ich ja auch die Breite der Image Resource. Gibts da nicht wo mir ausgibt "Ich war mal ein PNG"? |
| | |
| | Nach oben #6 | |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
| Zitat:
In dem Moment wo du imagecreatefrompng() aufrufst, weißt du doch, dass es ein png ist... Sinngemäßes Vorgehen: 1. Dateiendung auslesen und speichern 2. createimagefrom....(); 3. Imagefunktionen je nach Dateiendung anwenden 4. Image in Datei speichern mit Dateiendung von 1 Dabei kannst du 2. und 3. als statische Funktionen deiner Klasse nutzen und alles andere im Kontext des Aufrufs speichern und erledigen.
__________________ I did it my way - Senseless-Blog | |
| | |
| | Nach oben #7 | |
| Bastian Fenske Registriert seit: 04.01.2006 Ort: Kassel
Beiträge: 848
| Zitat:
Möglich wäre eine Image-Klasse, der du z.B. den Bild-Pfad übergibst. Die baut dann je nach Typ (getimagesize()) eine Klasse ImagePng, ImageJpeg oder ImageGif, die alle von einer gemeinsamen Basis-Klasse abgeleitet sind (vielleicht die Image-Klasse selbst???). Nach außen ist nicht sichtbar, welchen Typ das Bild hat, aber intern ist es ja in der konkreten Klasse hinter dem Proxy gespeichert. Basti | |
| | |
| | Nach oben #8 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.367
|
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #9 | |
| Erfahrener Benutzer Registriert seit: 18.03.2005
Beiträge: 596
| Zitat:
Dann ist $im = Image Resource, der Inhalt ist dann ein Rohformat, weder JPG, GIF oder PNG zugeordnet. Das wird erst beim speichern gemacht. Sprich der Bildtyp wird erst bei ImagePNG, ImageGIF oder ImageJPEG zugeordnet - vorher nicht. | |
| | |
| | Nach oben #10 |
| Erfahrener Benutzer Registriert seit: 30.10.2005
Beiträge: 285
|
Ok, wenn die Image Resource ein eigenes Format hat (GD?) dann kann ich das ursprüngliche Format ja nicht mehr bekommen. Ich hab es jetzt so gelöst das ich eine imageCreate Funktion habe die im Parameter den Typ bekommt, also png, jpg und noch ein $options array.
|
| | |
| | Nach oben #11 |
| Erfahrener Benutzer Registriert seit: 18.03.2005
Beiträge: 596
|
So wirklich verstehe ich dich gar nicht. Wenn du ein Bild mit ImageCreateFromPNG() öffnest, dann ist es logisch ein PNG gewesen Wenn du ein neues Bild mit ImageCreate() erstellst, ist es wurst was in der Resource steht, denn letztlich bestimmt du selber das Format beim speichern. |
| | |
| | Nach oben #12 | ||
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
| Zitat:
Zitat:
Ich glaub ex³ denkt im Moment um drei Ecken anstatt geradeaus zu schauen
__________________ I did it my way - Senseless-Blog | ||
| | |
| | Nach oben #13 |
| Erfahrener Benutzer Registriert seit: 30.10.2005
Beiträge: 285
|
Dachte mir das eigentlich so Code: public function rotateImage($source, $dest) [
$sourceImg = $this->_createImageFromFile($source);
// Bild drehen
$res = $this->_createImage($sourceImg, $dest);
}
|
| | |
| | Nach oben #14 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.512
|
Ich sehe immer noch nicht genau, wo eigentlich das Problem ist. Zitat:
Du kannst doch in der Methode _createImageFromFile() eine Membervariable setzen, die den Bildtyp speichert und auf diesen greifst du dann in der _createImage()-Methode zu. Irgendwie hab ich nicht verstanden, was du machen willst glaub ich. | |
| | |
| | Nach oben #15 |
| Bastian Fenske Registriert seit: 04.01.2006 Ort: Kassel
Beiträge: 848
|
Dann machs doch so, wie ich es beschrieben gab: PHP-Code: Basti Geändert von Basti (06.12.2007 um 10:20 Uhr) |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Drag & drop - images | risa | Desktop-Applikationen und Grafik | 4 | 28.05.2006 15:48 |
| MimeType herausfinden | pago | Allgemeine Java-Programmierung | 3 | 08.03.2006 12:13 |
| MouseListener auf Image | Tristan | Desktop-Applikationen und Grafik | 3 | 07.09.2005 13:29 |
| Image geklickt? | Gottzilla | Desktop-Applikationen und Grafik | 6 | 31.05.2005 21:23 |
| Resource in Jars | ruuk76 | Allgemeine Java-Programmierung | 6 | 24.05.2005 12:59 |