CODEDISKUSSION - JImP


  • Mod

    Original erstellt von <Parry>:
    **
    Und wo da? Wie wärs mit einem direkten Link?**

    Ups! Sorry! Ich dachte, der Link ist so zentral auf der ersten Seite, dass man ihn gleich sieht! Link



  • Hi,

    funktioniert bei mir wunderbar. Nicht schlecht Herr Specht. Die Punkte unter "Verarbeiten" sind ja echt beeindruckend.

    Wie lang hast du dran gesessen?


  • Mod

    Original erstellt von Doktor Prokt:
    **
    Wie lang hast du dran gesessen?**

    Kann ich nicht genau sagen! Das Projekt existiert schon sehr lange. Vielleicht ein Jahr oder so! Ich programmiere daran aber nur sehr sehr selten herum. Das Programmieren hat sich zudem in letzter Zeit fast darauf beschränkt, das Programm umzubauen, also dem Programm eine neue Struktur zu geben. ...das läßt sich wohl auf ne Fehlplanung bzw. fehlende Planung am Anfang zurückführen!



  • Hm, du hast jeder GUI-Klasse ein EventHandler-Objekt gegeben. Damit scheint man ja das Problem lösen zu können, daß nur die Hauptfensterklasse das Interface ActionListener implementiert und auf die ActionEvents reagiert...

    aber wie definiert man in der Hauptklasse so ein EventHandler-Objekt und übergibt es den anderen?



  • Jo gefällt mir gut das Programm 🙂
    Leider kapier ich java noch nich so, um wirklich gute fragen zu stellen, aber ich denke ich find schn was, was ich nich so kapiere 🙄 😃

    PS: Wo auf dem Klassenfoto ist noesis/Doofie? 😃


  • Mod

    Hm, du hast jeder GUI-Klasse ein EventHandler-Objekt gegeben

    Ich habe nur ein EventHandler-Objekt. EventHandler ist bei mir als Singleton implementiert. Also etwa so :

    [java]
    public class EventHandler
    {
    private static EventHandler instance;
    private EventHandler ()
    {
    //...
    }

    public static EventHandler getInstance ()
    {
    if (instance == null) instance = new EventHandler ();
    return instance;
    }

    //...
    }[/code]

    Diese Klasse ist bei mir aber auch nur für einen Teil der Abarbeitung eines Events zuständig. Eigentlich implementieren die meisten Menus das interface ActionListener selber. Siehe Klassen: StandardMenu, FunctionalityMenu

    EDIT : Das EventHandler-Objekt wird also nicht an die anderen Klassen übergeben, sie holen es sich stattdessen selber mit der getInstance-Methode!

    [ Dieser Beitrag wurde am 08.12.2002 um 18:38 Uhr von Gregor editiert. ]


  • Mod

    Original erstellt von Griffin:
    **
    PS: Wo auf dem Klassenfoto ist noesis/Doofie? :D**

    Ich glaube: obere Reihe, dritter von Links. 😉



  • Interessantes Projekt 🙂
    Keine Lust das auf SourceForge oder so weiter zu entwickeln? Ich hätte auch Interesse daran (obwohl ich keine Kenntnisse in Grafik-Programmierung habe) 🙂


  • Mod

    Original erstellt von CengizS:
    **
    Keine Lust das auf SourceForge oder so weiter zu entwickeln? Ich hätte auch Interesse daran (obwohl ich keine Kenntnisse in Grafik-Programmierung habe) :)**

    Ich weiß nicht genau, wie das bei SourceForge funktioniert. Kannst du mich da mal genauer aufklären? Läuft das so ab, dass ich meinen Code da hochlade und dann kann jeder Ergänzungen machen?

    Prinzipiell hätte ich schon Lust zu sowas! ...gerade, weil ich ja schon ne Art Plugin-Schnittstelle habe, so dass man da relativ einfach Erweiterungen hinzufügen kann. Man kommt wahrscheinlich damit aus, die neuen Dateien eines Plugins in die entsprechenden Verzeichnisse zu kopieren. Am vorhandenen Code muss man nichts ändern! 🙂

    Allerdings möchte ich, bis ich mit sowas anfange, noch ein paar Dinge an dem Projekt in Ordnung bringen. Die Plugin-Schnittstelle geht bisher nur in eine Richtung. Das Programm weiß zwar, wie es ein Plugin laden und benutzen kann, ein Entwickler muss aber immernoch einen Großteil des Programms kennen, damit er ein gutes Plugin schreiben kann.

    Auf Deutsch : Jetzt noch nicht, aber ich habe bald Weihnachtsferien, in denen ich das Programm so in Ordnung bringen kann, dass es wirklich leicht zu erweitern ist. In nem Monat kommt das für mich also sehr in Frage! ...ich muss ja auch noch ne Menge kommentieren, sonst kann damit ja fast kein Mensch was anfangen! 😉

    [ Dieser Beitrag wurde am 09.12.2002 um 00:34 Uhr von Gregor editiert. ]



  • Original erstellt von Gregor:
    Ich weiß nicht genau, wie das bei SourceForge funktioniert. Kannst du mich da mal genauer aufklären? Läuft das so ab, dass ich meinen Code da hochlade und dann kann jeder Ergänzungen machen?

    Ja, du lädst Deine Sourcen per CVS hoch und alle Entwickler die von Dir dazu die Berechtigung dazu bekommen, können "commits" beisteuern und so das Programm weiterbauen... (Das ist aber keineswegs das einzige Feature das sf zu bieten hat!)
    edit: http statt https...

    [ Dieser Beitrag wurde am 09.12.2002 um 01:10 Uhr von nman editiert. ]


  • Mod

    @ nman : Danke! Ich werde mir das morgen oder nachher noch angucken!

    BTW : Was mich natürlich auch interessiert ist, ob ihr irgendwelche tollen Effekte in dem Programm findet, die ich noch nicht kenne! Ich liste schonmal die auf, die ich am coolsten finde:

    • Bei Bildern aus Mangas und Animes kommt folgendes ganz gut :

    1. Ableitung approximieren: Operator - Sobel, alle Drehungen, Intensität - Rot - Grün - Blau, beide Verknüpfungen - Maximum. Abschließend kann man das Bild noch invertieren.

    2. Ableitung approximieren: Operator - Sobel, Drehungen 0, 90, Intensität, Verknüpfung der Drehungen - Summe, andere Verknüpfung egal.

    • Bei Fotos im png-Format:

    1. Histogramm ausgleichen: globale Nachb*****aft

    2. Histogramm ausgleichen: Feste Nachb*****aft, euklidischer Abstand, Größe 15

    3. (dauert u.U. sehr lange) Histogramm ausgleichen: adaptive Nachb*****aft, Toleranz 10, Rand 4.

    • Bei allen Fotos:

    1. Weichzeichnen: Euklidischer Abstand, quadratisch abnehmend, Größe 15. Dann 2-3 mal: Histogramm ausgleichen: Feste Nachb*****aft, euklid., Größe 15.

    2. Weichzeichnen: Euklidischer Abstand, quadratisch abnehmend, Größe 15. Dann: Histogramm ausgleichen: adaptive Nachb*****aft, Toleranz 10, Rand 4.

    [ Dieser Beitrag wurde am 09.12.2002 um 02:45 Uhr von Gregor editiert. ]


  • Mod

    Es gibt jetzt übrigens JImP 0.11 (wie immer auf www.klasse-5b.at.tf) (Direktlink)

    Die Version ist ein bischen erweitert, es wurden ein paar Fehler entfernt, einige Dinge wurden beschleunigt,... Insgesamt gibt es aber nicht viele Veränderungen.

    Version 0.11 gibt es diesmal ohne Source! :p ...dafür auch ohne Müll! Die zip-Datei ist somit kleiner. Man kann es aber weiterhin nicht aus der zip-Datei heraus starten. Speichern ist natürlich auch noch nicht implementiert! :p

    ...zumindest bin ich immernoch für Kritik offen!

    @ Griffin : Hast du doch nichts gefunden, was du nicht verstehst?! Java-Code ist einfach, gell?! 🙂

    (*push*)

    [ Dieser Beitrag wurde am 21.12.2002 um 23:12 Uhr von Gregor editiert. ]



  • aha



  • bezieht sich auf: ohne Source! 😡 😡 😡 😡 😡

    kein Gruß 😡


  • Mod

    Original erstellt von <pusher>:
    **bezieht sich auf: ohne Source! 😡 😡 😡 😡 😡
    **

    Der Source hat sich im Vergleich zu Version 0.1 nicht stark verändert! Wenn eine Version 0.20 rauskommt, dann gibt es wieder nen Source!

    EDIT : Wenn jemand wirkliches Interesse am neuesten Source hat, dann kann er seine E-Mail-Adresse posten. Ich schicke ihm dann den Source zu!

    [ Dieser Beitrag wurde am 21.12.2002 um 23:16 Uhr von Gregor editiert. ]



  • Es besteht ein sehr großes Interesse am neuen Code. Du könntest ihn ja in einem Extra-Packet zur Verfügung stellen. Oder schämst du dich für deinen Quelltext?



  • Original erstellt von Gregor
    **

    @ Griffin : Hast du doch nichts gefunden, was du nicht verstehst?! Java-Code ist einfach, gell?

    **

    Zu meiner Schande muss ich einräumen, mir den Source noch nicht angesehen zu haben.
    Ich kann mir die fehlende Zeit leider auch nicht beschaffen.
    Aber jetzt sind ja Weihnachtsferien.
    Und die nächsten Tage nehm ich das mal in Angriff.
    Und dann kommen sicherlich noch fragen auf dich zu 😉
    Also betrachte das schonmal als eine Warnung Gregor 😃 🕶



  • 😃 😃 😃 😃 😃 😃 😃 😃


  • Mod

    Hmmm... dann sollte ich vielleicht doch den neuesten Source zu Noesis schicken!
    🙂

    @ <Edit> : Der alte Source ist viel eher etwas, für das man sich schämen sollte! ...zumindest stellenweise! 🙄


  • Mod

    Der neue Source ist jetzt verfügbar zum Runterladen!


Anmelden zum Antworten