zoukankan      html  css  js  c++  java
  • SDL 显示图片

    来源:

    http://adolfans.github.io/sdltutorialcn/ (中文教程)

    http://www.willusher.io/pages/sdl2/ (英文教程)

    环境:SDL2 + VC++2015

    下面的代码将打开一个窗口显示hello.bmp

     1 #include <iostream>

     2 #include <SDL.h>

     3 

     4 int main(int argc, char** argv)

     5 {

     6     //初始化SDL

     7     if (SDL_Init(SDL_INIT_VIDEO) != 0)

     8     {

     9         std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;

    10         return 1;

    11     }

    12 

    13     //创建窗口

    14     SDL_Window *win = nullptr;

    15     win = SDL_CreateWindow("Hello World!",

    16         SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,

    17         640, 480, SDL_WINDOW_SHOWN);

    18     if (win == nullptr)

    19     {

    20         std::cout << SDL_GetError() << std::endl;

    21         return 1;

    22     }

    23 

    24     //创建渲染器

    25     SDL_Renderer *ren = nullptr;

    26     ren = SDL_CreateRenderer(win, -1,

    27         SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);

    28     if (ren == nullptr)

    29     {

    30         std::cout << SDL_GetError() << std::endl;

    31         return 1;

    32     }

    33 

    34     //创建表面

    35     SDL_Surface *bmp = nullptr;

    36     bmp = SDL_LoadBMP("hello.bmp");

    37     if (bmp == nullptr) {

    38         std::cout << SDL_GetError() << std::endl;

    39         return 1;

    40     }

    41 

    42     //创建材质

    43     SDL_Texture *tex = nullptr;

    44     tex = SDL_CreateTextureFromSurface(ren, bmp);

    45     SDL_FreeSurface(bmp);

    46 

    47     //清空渲染器

    48     SDL_RenderClear(ren);

    49     //将材质复制到渲染器

    50     SDL_RenderCopy(ren, tex, NULL, NULL);

    51     //呈现渲染器

    52     SDL_RenderPresent(ren);

    53     //窗口延时

    54     SDL_Delay(2000);

    55 

    56     //释放资源

    57     SDL_DestroyTexture(tex);

    58     SDL_DestroyRenderer(ren);

    59     SDL_DestroyWindow(win);

    60     //退出SDL

    61     SDL_Quit();

    62 

    63     return 0;

    64 }

    https://i-beta.cnblogs.com/posts/edit

  • 相关阅读:
    [HBase] HBase 安装&&小测试
    [tcl] hello tcl
    [php] 数据结构&算法(PHP描述) 快速排序 quick sort
    [php] 数据结构&算法(PHP描述) 查找&&二分法查找
    Linux 系统信息监控统计命令小结
    fuser 命令小结
    hdu 1142 A Walk Through the Forest (最短路+dfs)
    hdu 1688 Sightseeing (次短路及次短路数)&&pku3255 Roadblocks &&3191 How Many Paths Are There
    hdu 3790 最短路径问题
    hdu 2415 Bribing FIPA(树形DP)
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/12454916.html
Copyright © 2011-2022 走看看