Форум программистов, компьютерный форум CyberForum.ru

SDL 2.0 Загрузка картинки - C++

Войти
Регистрация
Восстановить пароль
 
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 728
05.01.2014, 21:25     SDL 2.0 Загрузка картинки #1
Привет, прохожу уроки по SDL 1.2
но сам пользуюсь 2.0 и немножко по ходу обучения сам переписываю код чтоб работал на 2.0
Но вот проблему, не могу вывести картинку, в уроке делали так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
SDL_Surface* CSurface::OnLoad(char* File) {
    SDL_Surface* Surf_Temp = NULL;
    SDL_Surface* Surf_Return = NULL;
 
    if((Surf_Temp = SDL_LoadBMP(File)) == NULL) {
        return NULL;
    }
 
    Surf_Return = SDL_DisplayFormat(Surf_Temp);
    SDL_FreeSurface(Surf_Temp);
 
    return Surf_Return;
}
вместо SDL_DisplayFormat на 9 строке я написал
C++
1
Surf_Return = SDL_ConvertSurfaceFormat(Surf_Temp,SDL_PIXELFORMAT_RGB24,0);
так как функции SDL_DisplayFormat в 2.0 нету,
вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SDL_Surface* CSurface::OnLoad(char* File)
    {
        SDL_Surface* Surf_Temp = NULL;
        SDL_Surface* Surf_Return = NULL;
 
        if((Surf_Temp = SDL_LoadBMP(File)) == NULL)//Загрузка картинки, грузе тільки .BMP
            {
                printf("Fail to load Image");
                return NULL;
            }
 
        Surf_Return = SDL_ConvertSurfaceFormat(Surf_Temp,SDL_PIXELFORMAT_RGB24,0);//Тут я міняв
        SDL_FreeSurface(Surf_Temp);
 
        return Surf_Return;
    }
проблема в том, что оно не выводит картинку, но открывает ее.
Может я не правильно написал второй параметр SDL_PIXELFORMAT_RGB24 ?
Справка по SDL_ConvertSurfaceFormat
Есть также функция SDL_ConvertSurface но я незнаю подходит она мне
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 21:25     SDL 2.0 Загрузка картинки
Посмотрите здесь:

Документация по SDL C++
C++ sdl отрисовка поля
C++ Странность С++ и SDL
C++ инициализация SDL
C++ Прилинковать SDL к V.S. 2010
C++ SDL 2.0 - нужны уроки
C++ Установка SDL 2
Распространение игр на SDL C++
C++ SDL C++
SDL mouse C++
Оптимизация SDL C++
SDL : Неадекватная загрузка текстур C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
05.01.2014, 21:58     SDL 2.0 Загрузка картинки #2
tdo22, в СДЛ 2.0 нету уже сарфейс, нужно использовать текстуры. Грузится вроде бы так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
SDL_Texture* load(const std::string &path, SDL_Renderer *r) {
    SDL_Surface *full_image = IMG_Load(path.c_str());
    if(!full_image) {
        std::string error;
        error += "\nCouldn't load image: ";
        error += path;
        throw error;
    }
 
    SDL_Texture *texture = SDL_CreateTextureFromSurface(r, full_image);
    SDL_FreeSurface(full_image);
    return texture;
}
Yandex
Объявления
05.01.2014, 21:58     SDL 2.0 Загрузка картинки
Ответ Создать тему
Опции темы

Текущее время: 11:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru