Bitmap verkleinern / komprimieren



  • servuzi,

    bei meinem derzeitigen Projekt versende ich eine Screenshot über das Netzwerk. (Verwendung der Funktionen GetDIBits und SetDIBits). Das tolle an der Sache ist, dass es funktioniert. 👍
    Nun ist der Datenstrom stolze 6 MB groß, was natürlich etwas Zeit benötigt. 👎
    Wie bekomme ich das Teil denn am sinnigsten klein ohne Datenverlust. 😕

    Hab mir bereits pnglib runtergeladen, allerdings noch nichts gefunden.
    Am liebsten wäre es mir, wenn ich das Bild nicht erst auf der Festplatte ablegen müsste, um es zu konvertieren oder sonstwas.
    Ich schätze mal, dass ich es auf der anderen Seite dann ja auch wieder in ein Bitmap zum zeichnen zurückdillern muss.

    Sowas hat doch irgendwer irgendwann schonmal gebraucht 😃





  • Screenshots mache ich über ein Bildbearbeitungsprogramm (ULEAD Photoimpact) über die dort verfügbare Funktion 'Aufnahme' mit der Einstellung JPG-komprimiert. Man muss die Aufnahme nur starten, in den Hintergrund stellen, sein Programm aufrufen und eine selbst definierte Funktionstaste wie F11 aufrufen. So etwas programmiert man nicht selbst! Andere Bildbearbeitunsgprogramme können das wahrscheinlich auch.



  • BasicMan01 schrieb:

    Hab mir bereits pnglib runtergeladen, allerdings noch nichts gefunden.

    Wo liegt denn das Problem, libpng klingt mir eigentlich nach einer guten Wahl!?



  • berniebutt schrieb:

    Screenshots mache ich über ein Bildbearbeitungsprogramm (ULEAD Photoimpact) über die dort verfügbare Funktion 'Aufnahme' mit der Einstellung JPG-komprimiert. Man muss die Aufnahme nur starten, in den Hintergrund stellen, sein Programm aufrufen und eine selbst definierte Funktionstaste wie F11 aufrufen. So etwas programmiert man nicht selbst! Andere Bildbearbeitunsgprogramme können das wahrscheinlich auch.

    Ich glaube er will etwas VNC-artiges programmieren. Und das macht man nicht über ein Screenshot-Programm 😉



  • BasicMan01 schrieb:

    Hab mir bereits pnglib runtergeladen, allerdings noch nichts gefunden.
    Am liebsten wäre es mir, wenn ich das Bild nicht erst auf der Festplatte ablegen müsste, um es zu konvertieren oder sonstwas.

    http://www.libpng.org/pub/png/libpng-manual.txt

    Such nach png_set_write_fn



  • danke Hustbaer ... des scheint des zu sein, was ich brauch.

    Werde mir auch mal noch die Verwendung dieser Funktion im folgenden Beispiel anschauen:
    http://graphics.stanford.edu/~mdfisher/Code/Engine/Bitmap.cpp

    @berniebutt
    😃 ich würde sogar die Klospülung selber programmieren, wenn ich Spaß dran hab



  • ich würde sogar die Klospülung selber programmieren, wenn ich Spaß dran hab

    Es gibt genügend Leute die das beruflich machen. Programmierbare Klospülungen sind der Renner in Japan.


  • Mod

    Dazu braucht man doch keine extra LIB. GDI+ Image::Save bring x-Encode mir sich.
    Damit speicher man einfach in dem Format wieman es haben will, ob JPG, TIFF ist dann wurscht.



  • Jo, dacht ich mir auch grad. Dann kannst noch schön easy resizen und jpeg-Qualität einstellen.


Anmelden zum Antworten