Grafik mit GD library

Dieses Thema im Forum "C/C++" wurde erstellt von Nemesis, 11.02.2010.

  1. #1 Nemesis, 11.02.2010
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    Hi,
    ich möchte funktionen grafisch darstellen und habe dazu die gd-library gefunden.
    dei pakete libgd2-xpm und ligd2-noxpm sind auch installiert, aber mono mekkert immernoch, dass die funktionen nicht gefunden weren.

    muss noch mehr installiert werden ?

    danke !
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 11.02.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Mhh, leicht verklickt? Mono Fragen gehoeren doch eigentlich eher ins Mono Forum, nicht ins C/C++ Forum...
    Im Allgemeinen musst du natuerlich gucken dass alle Libs vernuenftig eingebunden sind, worueber du aber kein Wort verloren hast.

    mfg,
    bytepool
     
  4. Rvg

    Rvg Doppel-As

    Dabei seit:
    11.07.2004
    Beiträge:
    141
    Zustimmungen:
    0
    braeuchte man da nicht eher etwas wie gd-sharp?
     
  5. #4 Nemesis, 11.02.2010
    Zuletzt bearbeitet: 11.02.2010
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    hm, ich dachte das ist eine c++-betreffende frage ... die libs habe ich wie folgt eingebunden:
    Code:
    #include <stdio.h>
    #include <gd.h>
    oder gibts noch ne andere möglichkeit, was zu zeichnen ? also es geht darum mathematische funktionen auszugeben.
     
  6. #5 bytepool, 11.02.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Und seit wann hat Mono etwas mit C++ zu tun?

    Wenn es tatsaechlich C++ ist, waere noch die Frage wie gelinkt und kompiliert wird.
    Edit: Und genaue Fehlermeldungen wirken manchmal auch wunder.

    mfg,
    bytepool
     
  7. #6 Nemesis, 11.02.2010
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    also gut ...

    Code:
    #include <stdio.h>
    #include <gd.h>
    
    
    int main(void)
    {
    	int xmax, ymax;
    	int xmin, ymin;
    	
    	/*image initialisieren*/
    	gdImagePtr image;
    	FILE *png;
    	int black, white, red, blue, yelow;
    	/*Wir erzeugen ein Image mit 401x401 Pixel*/
    	image=gdImageCreate(401,401);
    
    	/*Speicher für die Farben allozieren*/
    	white=gdImageColorAllocate(image,0,0,0);   /*Weiss*/
    	black=gdImageColorAllocate(image,255,255,255); /*Schwarz*/
    	red  =gdImageColorAllocate(image,255,0,0); /*rot*/
    	blue =gdImageColorAllocate(image,0,0,255); /*blau*/
    	yelow=gdImageColorAllocate(image,255,255,0); /*gelb*/
    
    	gdImageRectangle(image,0,0,99,99,black);
       	gdImageRectangle(image,1,1,49,49,yelow);
       	gdImageFill(image,25,25,red);
       	gdImageRectangle(image,50,1,98,49,yelow);
       	gdImageFill(image,75,25, blue);
       	gdImageRectangle(image,1,50,49,98,yelow);
       	gdImageFill(image, 25,75,blue);
       	gdImageRectangle(image,50,50,98,98,yelow);
       	gdImageFill(image, 75,75,red);
    
       	png = fopen("bild1.png", "wb");
    
       	gdImagePng(image,png);
    
       	fclose(png);
    
      	gdImageDestroy(image);
    
    return 0;
    }
    die fehler:
    Code:
    g++ -o "~/FunktionBerechnen/bin/Debug/FunktionBerechnen" "~/FunktionBerechnen/FunktionBerechnen/bin/Debug/FunktionBerechnen.o"  
    ~/FunktionBerechnen/FunktionBerechnen/bin/Debug/FunktionBerechnen.o: In function `main':
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:15: undefined reference to `gdImageCreate'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:18: undefined reference to `gdImageColorAllocate'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:19: undefined reference to `gdImageColorAllocate'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:20: undefined reference to `gdImageColorAllocate'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:21: undefined reference to `gdImageColorAllocate'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:22: undefined reference to `gdImageColorAllocate'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:24: undefined reference to `gdImageRectangle'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:25: undefined reference to `gdImageRectangle'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:26: undefined reference to `gdImageFill'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:27: undefined reference to `gdImageRectangle'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:28: undefined reference to `gdImageFill'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:29: undefined reference to `gdImageRectangle'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:30: undefined reference to `gdImageFill'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:31: undefined reference to `gdImageRectangle'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:32: undefined reference to `gdImageFill'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:36: undefined reference to `gdImagePng'
    ~/FunktionBerechnen/FunktionBerechnen/FunktionBerechnen.cpp:40: undefined reference to `gdImageDestroy'
    collect2: ld returned 1 exit status
    Erstellung abgeschlossen -- 17 Fehler, 0 Warnungen
    siehe Datei -> Neu -> Neue Datei -> CPP -> General -> Empty C++ Source File
     
  8. #7 bytepool, 11.02.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Jo, die Header Dateien befinden sich wie immer in libgd2-xpm-dev. Die xpm und noxpm Pakete sind bei mir allerdings auch Konflikte. ;)

    Und dann muss natuerlich noch gegen die Lib gelinkt werden:
    Code:
    g++ -o gdlibt gdlibt.cpp -lgd
    
    mfg,
    bytepool
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 Gast1, 11.02.2010
    Zuletzt von einem Moderator bearbeitet: 11.02.2010
    Gast1

    Gast1 Guest

    Kurze Frage von einem "Programmier"-DAU:

    Code:
    #include <stdio.h>
    Ist das nicht eigentlich eher "the C-way" einen Header einzubinden?

    Also ich kenne diese Art der Einbindung (meist, wenn man ältere Programme für den erfolgreichen Paketbau mit gcc>=4.3 patchen muss und dort einen/mehrere Header explizit hinzufügen muss, die seit dieser Version nicht mehr automatisch includiert werden) und weiß, daß das auch unter C++ funktioniert, aber sollte das in dem Fall für C++ nicht eher das hier sein?

    Code:
    #include <cstdio>
    Zumindest kenne ich das von den meisten C++-Programmen bei denen ich per Patch "Hand anlegen" musste.
     
  11. #9 bytepool, 12.02.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Stimmt genau. Aber der hier praesentierte Code ist eh reines C soweit, und auch libgd2 scheint eine reine C Lib zu sein. Ich bin auch nicht so der Experte in C oder C++, ich merke mir meistens auch nur dass in C das .h dranbleibt und in C++ nicht. Doch da C bis C99 eh eine Untermenge von C++ war, duerfte es in der Praxis gar nicht so relevant sein. Der falsche Header fuehrt meines Wissens nur zu einer deprecation warning, funktioniert aber trotzdem.

    Aber im Allgemeinen ist es schon gut wenn man sich darueber im klaren ist, welche Sprache man denn eigentlich benutzt, schon allein aus Stilgruenden. Manche Leute schmeissen C und C++ ja vollkommen skrupellos durcheinander dass es einem nur kalt den Ruecken runter laeuft. ;)

    mfg,
    bytepool
     
Thema:

Grafik mit GD library

Die Seite wird geladen...

Grafik mit GD library - Ähnliche Themen

  1. Umlaute mit Grafiktool

    Umlaute mit Grafiktool: Halli, ich moechte gern ein Tool bzw eine Anwendung, mit der ich die Umlaute mit Klicks einfuegen kann. Distribution ist Knoppix.
  2. Grafiktreiber von Nvidia und AMD mit Vulkan-Unterstützung

    Grafiktreiber von Nvidia und AMD mit Vulkan-Unterstützung: Nvidia und AMD haben Betaversionen ihrer Linux-Grafiktreiber herausgegeben, die erstmals die neue 3D-Schnittstelle Vulkan unterstützen. Aber auch...
  3. Grafiktreiber von Nvidia und AMD mit Vulkan-Unterstützung

    Grafiktreiber von Nvidia und AMD mit Vulkan-Unterstützung: Nvidia und AMD haben Betaversionen ihrer Linux-Grafiktreiber herausgegeben, die erstmals die neue 3D-Schnittstelle Vulkan unterstützen. Aber auch...
  4. GPUOpen: AMD-Initiative für freie Grafik-Entwicklungswerkzeuge gestartet

    GPUOpen: AMD-Initiative für freie Grafik-Entwicklungswerkzeuge gestartet: Vor etwa sechs Wochen hatte AMD die GPUOpen-Initiative angekündigt, in deren Rahmen alle Entwicklungswerkzeuge und Bibliotheken für die...
  5. GPUOpen: AMD will alle Grafik-Entwicklungswerkzeuge freigeben

    GPUOpen: AMD will alle Grafik-Entwicklungswerkzeuge freigeben: AMD hat die GPUOpen-Initiative angekündigt, in deren Rahmen alle Entwicklungswerkzeuge und Bibliotheken für die Grafikchips unter freie Lizenzen...