• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

[C++] Welche Bilder Bibliothek?

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
Ich würde gerne in einer C++ Bibliothek direkt Bilder erstellen und diese dann in eine Cocoa App reinladen. Jetzt frage ich mich nur, was für eine Bibliothek ich dafür verwenden sollte (und nein, ich möchte nicht NSBitmapImageRep verwenden, da ich es schwachsinnig finde, in der C++ lib ein Array mit den Daten zu erstellen und dann im Programm das 3D-Array auszulesen. Das Auslesen macht ca. 80% der Zeit aus ;) ).

Ich habe auf meinem Mac erstmal libpng und boost (boost/gil/gil_all.hpp). Das Problem an libpng ist, dass es eine C-Bibliothek ist und demnach keine Klassen erhält. Das Problem an Boost ist, dass deren Dokumentation etwas schwach ist und ich nicht wirklich durchblicke, wie ich am besten damit Bilder erstellen kann.

Nun stell ich mir die Frage, ob es noch andere gute Bibliotheken (vorzugsweise C++) gibt, mit denen man leicht ein neues Bild erstellen und bei dem man die Pixel direkt ändern kann.

Ich bedanke mich jetzt schon für alle Anregungen.
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Was ist das Problem, dass libpng keine Klassen enthält? Nimm halt dortige Funktionen, die vermutlich sogar Klassenähnlich organisiert sind …
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
Ich gehe mal davon aus, dass man dann über den libpng Pointer das Bild in eine NSData und damit in eine NSBitmapImageRep oder direkt in eine NSView bekommt, oder? Weil das wäre ja trotzdem wichtig, ich möchte halt das Bild schon in der lib erstellen und nicht im Programm.
 

Poljpocket

Salvatico di Campascio
Registriert
07.01.07
Beiträge
432
Oder mach eine Wrapper-Klasse in C++. Ich mache das für mich öfters. Zum Beispiel, wenn ich BSD-Sockets in Cocoa brauche. Da kommt bei mir immer eine Klasse zum Zuge, welche ich mithilfe der BSD-API schreibe und so dann ein Objekt habe, welches einen Socket betreibt und die nötigen Funktionen dazu beherrscht: Als Methoden der Klasse, welche dann intern immer die BSD Funktionen auf den eigenen Socket anwenden. Ist nicht schwer und auch nicht sehr zeitaufwändig.

Gruss ppocket
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
ahh, klar, das würde natürlich Sinn machen. Blöd, dass ich nicht selbst draufgekommen bin.