Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [c]converitre da .bmp a .jpg

    ciao

    Vorrei sapere se ci fosse qualche funzione in C che permetta di convertire un immagine da bmp a jpg, anche usando eventualmente librerie esterne.

    Grazie

  2. #2
    Leggi questa discussione.

    Ti interessa solo codice C o vanno bene anche librerie C++?
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  3. #3
    Puoi dare un'occhiata alla libreria libjpeg e in particolare al file cjpeg.c (sorgenti) per un approccio "didattico" al problema; d'altra parte l'uso di librerie di più alto livello (ad esempio FreeImage) potrebbe snellirti molto il lavoro.
    codice:
    #include <freeimage.h>
    /* ... */
    FIBITMAP *bitmap = FreeImage_Load(FIF_BMP, "nomefile.bmp", BMP_DEFAULT); 
    if (bitmap==NULL)
    { 
        /* impossibile caricare l'immagine, gestisci l'errore */
    }
    else
    {
        if(!FreeImage_Save(FIF_JPEG, bitmap, "nomefile.jpg", JPEG_DEFAULT))
        {
            /* impossibile salvare l'immagine, gestisci l'errore */
        }
        FreeImage_Unload(bitmap); 
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    ok grazie mille funziona...

  5. #5
    Prego; ciao!
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    18
    ciao sono un nuovo registrato
    Non riesco a capire come usare questa libreria FreeImage...ci sono un casino di file all'interno e non so cosa devo fare.
    Qualcuno mi potrebbe fare un esempio?
    Uso DevC++
    Grazie

  7. #7
    In questa discussione riportano i passaggi necessari per utilizzare FreeImage nell'ambiente Dev-C++.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    18
    Allora ...
    Grazie alla discussione che mi hai linkato e al codice di MItaly il programma quantomeno parte...
    Il codice è così:


    //**********Codice*********//
    #include <freeimage.h>
    #include <stdio.h>

    main(){

    FIBITMAP *bitmap = FreeImage_Load(FIF_BMP, "immagine.bmp", BMP_DEFAULT);

    if (bitmap==NULL)
    {
    printf("Errore nel caricamento\n");
    }

    else
    {

    if(!FreeImage_Save(FIF_JPEG, bitmap, "immagine.jpg", JPEG_DEFAULT))
    {
    printf("Errore nel salvataggio\n");
    }
    FreeImage_Unload(bitmap);

    getchar();
    }
    //******FINE***************//

    Solo che mi dice "Errore nel salvataggio" ...
    Mi sapete dire pechè?
    LA libreria l'ho linkata e la dll pure , altrimenti manco partirebbe il prog, ma perchè mi dice errore nel salvataggio?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    18
    Si ora l'immagine viene convertita
    Ma se ad esempio includo la libreria windows.h per eseguire altre azioni oltre alla freeimage mi da molti errori ...

    Il codice è così:

    #include <freeimage.h>
    #include <stdio.h>
    #include <windows.h>

    main(){

    FIBITMAP *bitmap = FreeImage_Load(FIF_BMP, "file.bmp", BMP_DEFAULT);

    if (bitmap==NULL)
    {
    printf("Errore nel caricamento\n");
    }



    if(!FreeImage_Save(FIF_JPEG, bitmap, "file2.jpg", JPEG_DEFAULT))
    {
    printf("Errore nel salvataggio\n");
    }
    FreeImage_Unload(bitmap);

    getchar();
    }


    ERRORI:
    Immagini allegate Immagini allegate

  10. #10
    Mi sapete dire pechè?
    Io ho compilato il tuo programmino e posso dirti che funziona perfettamente, ho convertito diverse bitmap (24 bit per canale, 8 bit per canale, ...) in JPEG senza problemi. Probabilmente stai cercando di convertire un file memorizzato in modo non standard.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.