¿How save a jpeg file with SDL_image?

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
Report Content as Inappropriate

¿How save a jpeg file with SDL_image?

Marqués del valle de México
Sombady know how save a image file with the +.jpeg format

¿is it posible?

Because i use the following code for load and save a BMP file, but i wanto to
do the same thing with a JPEG file.
if anybody can help me, very thanks.

#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>

int main(int argc, char *argv[])

    SDL_Surface *screen; // Superficie SDL
    SDL_Surface *pic;    // Imagen principal
    SDL_Surface *sdlpic; // Imagen de la leyenda SDL
    SDL_Event event;     // Evento para cerrar programa
    char *salvar;
    // Ruta y nombre de la imagen final
    salvar = "C:/WINDOWS/Escritorio/nuevaspracticas/salvarbmp/iend.bmp";
    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1) // Inic. vide
        {                                                    // & audio
                printf("Error: %s\n", SDL_GetError());
                return 1;
    // Creamos una superficie SDL
    screen = SDL_SetVideoMode(480, 350, 16, SDL_HWSURFACE);  
    if (screen == NULL) // Verificar que se cree la superficie
                printf("Error: %s\n", SDL_GetError());
                return 1;
    // Cargar imagen principal BMP
    // Cargar la imagen con la leyenda "SDL"
    if (pic == NULL)  // Verificar si se carga la imagen principal
                printf("Error en IMG_Load= %s\n", SDL_GetError());
                return 1;
          if (sdlpic == NULL)  // Verificar si se carga la leyenda
                printf("Error en IMG_Load= %s\n", SDL_GetError());
                return 1;

    SDL_Rect rect = {310, 3, 0, 0}; // Declaramos estructura SDL_Rect
        // Pegamos la imagen principal a la superficie SDL
    SDL_BlitSurface(pic, NULL, screen, NULL);
    // Pegamos la leyenda a la principal establecida en la sup. SDL
        // Creamos una nueva imagen BMP compuesta por las dos imagenes
        SDL_SaveBMP(screen, salvar);
    while (SDL_WaitEvent(&event)) // Aquí se cierra la ventana
            if (event.type == SDL_QUIT)
    SDL_FreeSurface(screen); // Liberamos memoria utilizada
    SDL_FreeSurface(pic); // Liberamos memoria utilizada
    SDL_FreeSurface(sdlpic); // Liberamos memoria utilizada    
    return 0;

SDL mailing list
[hidden email]