zlib nutzen



  • Hallo Leutz,

    ich steh gewaltig aufm Schlauch.
    Momentan versuche ich eine Bilddatei zu zippen und möchte aus diesem Grund zlib einsetzen:
    http://www.gzip.org/zlib/

    Leider hab ich nicht die geringste Ahnung wie ich das anstellen soll.
    Könnte mir bitte jemand eine grobe Anleitung geben wie dies funktioniert?
    Alle Dateien, welche mitgeliefert sind, sind leer. Daher denke ich, dass die Funktionen in der mitgelieferten dll stecken.
    Aber leider weiss ich auch hier nicht wie ich diese gescheit einbinde.

    Hilfe wäre echt spitze!!!
    (Vielleicht in Stichwortform komplett einmal durch....Bitte!!)

    Gruss
    Günni



  • Guenter Mies schrieb:

    Alle Dateien, welche mitgeliefert sind, sind leer.

    Nochmal runterladen bzw. mal nen anderen Entpacker verwenden.

    Warum sollte jemand leere Dateien zu Download anbieten?



  • also ich habe die dateien nochmals downgeloaded und siehe da...

    ...ich habe nun das richtige packet samt inhalten!!!

    jetzt hab ich mal paar fette fragen:

    ///////////////////////////////////////////////////////////////////////////////
    ////////////// hat sicherledigt !!///////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////
    wenn ich diesen code ausführe erzeugt mir dieser eine .lib und eine .dll
    -- ist es richtig, dass ich lediglich irgendwie diese dll in MEIN EIGENES programm einbinden muss und fortan die funktionen des fremdprogramms aufrufen kann???
    -- und wie stelle ich das dann an (mit der lib?)???
    -- und wie rufe ich die funktionen dann auf???
    ///////////////////////////////////////////////////////////////////////////////

    was ich nun wissen müsste ist wie ich diese z_stream der methoden INFLATE und DEFLATE befülle (diese z_stream sind structs die jede menge erwarten)

    hier ein beispiel:

    typedef struct z_stream_s {
        Bytef    *next_in;  /* next input byte */
        uInt     avail_in;  /* number of bytes available at next_in */
        uLong    total_in;  /* total nb of input bytes read so far */
    
        Bytef    *next_out; /* next output byte should be put there */
        uInt     avail_out; /* remaining free space at next_out */
        uLong    total_out; /* total nb of bytes output so far */
    
        char     *msg;      /* last error message, NULL if no error */
        struct internal_state FAR *state; /* not visible by applications */
    
        alloc_func zalloc;  /* used to allocate the internal state */
        free_func  zfree;   /* used to free the internal state */
        voidpf     opaque;  /* private data object passed to zalloc and zfree */
    
        int     data_type;  /* best guess about the data type: ascii or binary */
        uLong   adler;      /* adler32 value of the uncompressed data */
        uLong   reserved;   /* reserved for future use */
    } z_stream;
    

    helft mir bitte!!!
    Günni 😕


Anmelden zum Antworten