tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
404
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Hallo.
    Ich hab mir überlegt, dass ich mal wieder bock habe, etwas mit GD zu machen.
    Und dann hab ich mir gedacht, dass ich nebenher auch gleich noch meine OOP-Skills verbessern könnte. Eine GD-Klasse liegt da nah

    Nur weiß ich grad nicht, was die beinhalten soll?
    Eine Vereinfachung der Benutzung der GD-Funktionen (wie zB in einer SQL-Klasse) hat ja nicht wirklich Sinn, das ist schon idiotensicher
    Vielleicht eine Klasse, mit der man Diagramme oder sonstige Konstruktionen erstellen kann? Was meint ihr?

    Wenn jemandem gerade besonders langweilig ist, kann er mir ja gleich eine Struktur der Klasse geben, so wie er das sich vorstellt (also die Methoden der Klasse ohne den Code).
    Danke schonmal für eure sicherlich kreativen Einfälle
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

  2. #2
    Avatar von j cop
    j cop j cop ist offline Mitglied Gold
    Registriert seit
    Sep 2005
    Beiträge
    148
    Vielleicht eine zum Zeichnen von Graphen. Diagramme sind auch gut. Tortengrafik usw.
     

  3. #3
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Vielleicht eine Klasse mit der man diverse statistikbezogenen Grafiken, wie z.B. das bereits genannte Tortendiagramm, oder auch Balkendiagramme erstellen kann.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  4. #4
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Graphen sind auch eine gute Idee, stimmt Hab ich gar nicht dran gedacht.

    Graphen und Diagramme machen sich immer gut.
    Nehmen wir mal als Beispiel ein Tortendiagramm. Was sollte man alles einstellen können? die Ausmaße des Diagrammes, die Farben, Die Höhe und natürlich die Daten (vielleicht mit beschriftung?). Hab ich was vergessen?

    Und wie würdet ihr die Struktur der Klasse machen?
    Für jedes Diagramm/jeden Graph eine funktion? Oder sollten noch irgendwie Subclasses rein? Ich hab zwar die OOP-Grundsätze verstanden, mir fehlt aber irgendwie die Erfahrung damit.
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

  5. #5
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Du solltest die Moeglichkeit bieten eine beliebige Anzahl an numerischen Werten hinzuzufuegen, am besten wohl ueber eine Methode addvalue($value,$description='')
    $description='' damit keine Beschreibung noetig, aber eben moeglich ist.
    Und dann eben Methoden zur Erzeugung der einzelnen Grafiken. Diese sollten am besten auch die Moeglichkeit bieten zu waehlen ob die Grafik gespeichert oder ausgegeben werden soll.
    Am besten wie es z.B. bei imagejpeg() der Fall ist mit dem optionalen 2. Parameter.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  6. #6
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Ok, also dann mach ich einfach für jedes Diagramm eine Methode.
    pie_chart();
    line_chart();
    bar_chart();
    ... Öhm - Was noch?

    Edit: Natürlich die von dir angesprochene addvalue-Funktion, einen Konstruktor, der unter anderem die Auswahl zum Speichern enthält.
    Geändert von Irgendjemand_1 (27.04.06 um 19:09 Uhr)
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

  7. #7
    Bailor Tutorials.de Gastzugang
    Struktur der Klasse: genau das ist der "schwere bzw. eigentliche Teil" der Arbeit... das wollen wir dir doch nicht abnehmen

    ich würde mir jetzt an deiner stelle einen stapel zettel und ein paar stifte holen und mal skizzieren und losüberlegen...

    Was mir dabei grad so durch den kopf geht...
    • was will ich am schluss haben?
      --> Allgemein: einen Graphen. Speziell: einen Tortengraphen
    • was will ich am anfang als Ausgangspunkt haben?
      --> Allgemein: eine tabelle mit Werten, Speziell: Eine einfache "wert-name"-"prozent-wert"-zuordnung plus titel und beschreibung für die grafik (inhaltliche bedeutung)
    • Wie will ich als "einfacher Klassenbenutzer" die Klasse benutzen können?
      --> zum Beispiel:
      PHP-Code:
      $torte = new Tortengraph();
      $v = array('flaschen' => 0.3'dosen' => 0.6'sonstige' => 0.1);
      $torte->setValues($v);
      $torte->setHeadline('Flaschenpopulation am Abgrund');
      $torte->setColor('#000000'); /* Konfigurationseinstellungsmöglichkeiten, wie du oben schon aufgezählt hast... */
      $torte->paint(); 
    • Ich brauche also eine Klasse Tortengraph() und ein paar Funktionen darin
      --> Welche Funktionen brauch ich genauso bei einem Stabdiagramm?
      --> Tortengraph extends Graph und Graph enthält "allgemein genutzte" Funktionen
    Nuja, das ist mir jetz so durch den Kopf.. wenn ich nochmal drüber lese, würd ichs schon wieder ein bischen anders machen


    Sorry für die etwas verplante antwort, vielleicht hilft sie ja trotzdem...
     

  8. #8
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Also für jedes Diagramm eine Subklasse - Das leuchtet mir ein
    Ich denke von der Struktur her werde ich das schon irgendwie halbwegs sinnvoll hinbekommen Da sind ja relativ viele Freiheiten gegeben.

    Btw: Kann man eigentlich in dem Header eines Bildes Daten speichern? Mir geht es jetzt speziell darum das Objekt zu speichern, dann könnte man das Diagramm später nochmal mit der Klasse nachbearbeiten, ohne es neu erstellen zu müssen. Das könnte zum Beispiel praktisch sein, wenn man nur eine einzige Information ändern will, oder zB. das Copyright nachträglich entfernen/hinzufügen will.
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

  9. #9
    Bailor Tutorials.de Gastzugang
    Naja, wenn du sämtliche Input-Daten speicherst, kannst du die Grafik jederzeit neu generieren lassen... und somit auch nachträglich verändern.
    Wenn du die Grafik dann als jpg oder so speicherst.. naja, dann hast du halt ne bild-datei, und mit der kannst du machen, was du mit jeder anderen auch machen kannst.

    oder hab ich dich jetzt missverstanden?

    [stream-of-thoughts-on]
    Man könnte es auch andersrum aufrufen lassen...
    PHP-Code:
    class Graph {
      var 
    $graph/* graph-class-handler */
      
    function Graph($type) {
        if (
    class_exists($type)) $this->graph = new $type();
        else echo 
    'Den graphentyp gibets ned!';
      }
    }
    class 
    torte {
      ...
    }
    $torte = new Graph('torte'); 
    Hm, war nur grad so ne Idee... musst man abwägen, welche Methode evtl. Vor- oder Nachteile hat.. wobei der unterschied ja ned so groß is
    [stream-of-thoughts-off]
     

  10. #10
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Zitat Zitat von Bailor
    Naja, wenn du sämtliche Input-Daten speicherst, kannst du die Grafik jederzeit neu generieren lassen... und somit auch nachträglich verändern.
    Wenn du die Grafik dann als jpg oder so speicherst.. naja, dann hast du halt ne bild-datei, und mit der kannst du machen, was du mit jeder anderen auch machen kannst.

    oder hab ich dich jetzt missverstanden?
    Schon ok ... Nicht so wichtig Was ich machen wollte, war halt, dass man aus der jpg Datei selbst wieder das Objekt herstellen kann, um dieses zu verändert. Aber wenn man sich die Datei, die das Bild generiert hat einfach speichert, kann man das Bild ja auch wieder verändern.
    Zitat Zitat von Bailor
    [stream-of-thoughts-on]
    Man könnte es auch andersrum aufrufen lassen...
    PHP-Code:
    class Graph {
      var 
    $graph/* graph-class-handler */
      
    function Graph($type) {
        if (
    class_exists($type)) $this->graph = new $type();
        else echo 
    'Den graphentyp gibets ned!';
      }
    }
    class 
    torte {
      ...
    }
    $torte = new Graph('torte'); 
    Hm, war nur grad so ne Idee... musst man abwägen, welche Methode evtl. Vor- oder Nachteile hat.. wobei der unterschied ja ned so groß is
    [stream-of-thoughts-off]
    Wie meinst du das?
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

  11. #11
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Möglicherweise kannst Du die Parameter des Objekts irgendwo in den EXIF-Daten eines JPegs unterbringen.

    Gruß hpvw
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  12. #12
    Bailor Tutorials.de Gastzugang
    Zitat Zitat von Irgendjemand_1
    Schon ok ... Nicht so wichtig Was ich machen wollte, war halt, dass man aus der jpg Datei selbst wieder das Objekt herstellen kann, um dieses zu verändert. Aber wenn man sich die Datei, die das Bild generiert hat einfach speichert, kann man das Bild ja auch wieder verändern.
    Ja, aus der JPG-Datei wieder das objekt herauszulesen wüsste ich ned, wie gehn sollte..
    mit den exif hab ich gar keine ahnung, aber vielleicht hast du da nen platz wo die parameter speichern kannst, wie hpvw vorgeschlagen hat. dann würdest du aber auch nur die parameter auslesen, und die grafik dann mit diesen neu generieren, oder?

    Wie meinst du das?
    hmm... Beim Initiieren der Klasse Graph wird halt gleich mit übergeben (das kann man natürlich auch mit einer Funktion später machen), welcher Graphentyp es denn ist. für diesen Graphentypen hätten wir auch nochmal ne Klasse, und die wird dann entsprechend initialisiert und der Handler in einer klassen-variable der klasse graph abgelegt...
     

Ähnliche Themen

  1. Wie schnell sollte eine Website sein?
    Von Radhad im Forum Hosting & Webserver
    Antworten: 3
    Letzter Beitrag: 13.01.11, 17:49
  2. Wieviele Megapixel sollte eine Cam haben?
    Von sight011 im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 1
    Letzter Beitrag: 29.04.09, 18:22
  3. Was sollte Game-Engine können?
    Von Baerwatz im Forum Creative Lounge
    Antworten: 4
    Letzter Beitrag: 04.02.05, 19:54
  4. Wie sollte eine Firmen HP aussehen?
    Von Ultra_Flasher im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 01.09.01, 17:15