国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SDL窗口創(chuàng)建以及簡單顯示(1)

這篇具有很好參考價值的文章主要介紹了SDL窗口創(chuàng)建以及簡單顯示(1)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?項目創(chuàng)建步驟

?1. 使用Qt Creator創(chuàng)建一個C項目

?2. 將SDL庫文件放到源文件目錄下

SDL窗口創(chuàng)建以及簡單顯示(1),FFmpeg,ffmpeg

?在項目pro文件中添加庫文件

win32{
	INCLUDEPATH += $$PWD/SDL2-2.0.10/include
	LIBS += $$PWD/SDL2-2.0.10/lib/x86/SDL2.lib
}

?使用SDL創(chuàng)建一個窗口

#include <stdio.h>

#include <SDL.h>

#undef main    // 先取消main函數(shù)(因為SDL內部使用了main函數(shù))
int main()
{
    // 創(chuàng)建一個SDL_VIDEO窗口
    SDL_Window* window = NULL;
    SDL_Init(SDL_INIT_VIDEO);
    window = SDL_CreateWindow("Title",
                              SDL_WINDOWPOS_UNDEFINED,       // 默認x y 顯示到窗口中間
                              SDL_WINDOWPOS_UNDEFINED,
                              640,
                              480,
                              SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);// 設置窗口屬性
    if(!window)
    {
        printf("Can't create window, err:%s\n", SDL_GetError());
        return 666;
    }

    SDL_Delay(5000);                // 延遲5000ms
    SDL_DestroyWindow(window);      // 銷毀窗口
    SDL_Quit();                     // 釋放資源

    return 0;
}

運行效果

?SDL窗口創(chuàng)建以及簡單顯示(1),FFmpeg,ffmpeg

SDL簡單顯示案例

#include <stdio.h>
#include <SDL.h>

#undef main
int main()
{
    SDL_Window* window = NULL;          // 窗口
    SDL_Renderer* renderer = NULL;      // 渲染器
    SDL_Texture* texture = NULL;        // 紋理

    SDL_Init(SDL_INIT_VIDEO);

    // 創(chuàng)建窗口
    window = SDL_CreateWindow("Window Title",
                              SDL_WINDOWPOS_UNDEFINED,
                              SDL_WINDOWPOS_UNDEFINED,
                              640,
                              480,
                              SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);
    if(NULL == window)
    {
        printf("Create Window error: %s\n", SDL_GetError());
        return -1;
    }

    // 創(chuàng)建渲染器(一個窗口可有多個渲染器)
    renderer = SDL_CreateRenderer(window, -1, 0);
    if(NULL == renderer)
    {
        printf("Create Renderer error: %s\n", SDL_GetError());
        // 銷毀窗口,釋放資源
        SDL_DestroyWindow(window);
        SDL_Quit();
        return -1;
    }

    // 基于渲染器創(chuàng)建紋理
    texture = SDL_CreateTexture(renderer,
                                SDL_PIXELFORMAT_RGBA8888,
                                SDL_TEXTUREACCESS_TARGET,
                                640,
                                480);
    if(NULL == texture)
    {
        printf("Create Texture error: %s\n", SDL_GetError());
        // 銷毀渲染器 窗口 釋放資源
        SDL_DestroyRenderer(renderer);
        SDL_DestroyWindow(window);
        SDL_Quit();
        return -1;
    }

    int showCnt = 0;    // 顯示次數(shù)
    int run = 1;        // 循環(huán)退出條件
    SDL_Rect rect;      // 定義一個SDL矩形
    rect.w = 50;
    rect.h = 50;

    while(run)
    {
        // 隨機rect的位置
        rect.x = rand() % 600;
        rect.y = rand() % 400;

        // 設置渲染目標為紋理
        SDL_SetRenderTarget(renderer, texture);
        // 設置渲染繪制顏色
        SDL_SetRenderDrawColor(renderer, 255, 0, 255, 255);
        // 刷新渲染
        SDL_RenderClear(renderer);

        // 設置渲染繪制顏色
        SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);
        // 繪制矩形
        SDL_RenderDrawRect(renderer, &rect);
        // 繪制填充矩形
        SDL_RenderFillRect(renderer, &rect);

        // 恢復渲染目標為窗口
        SDL_SetRenderTarget(renderer, NULL);
        SDL_RenderCopy(renderer, texture, NULL, NULL);

        // 顯示紋理
        SDL_RenderPresent(renderer);
        SDL_Delay(300);

        if(showCnt++ >= 30)
            run = 0;
    }

    // 銷毀 紋理 渲染器 窗口,釋放資源
    SDL_DestroyTexture(texture);
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}

SDL窗口創(chuàng)建以及簡單顯示(1),FFmpeg,ffmpeg文章來源地址http://www.zghlxwxcb.cn/news/detail-719466.html

到了這里,關于SDL窗口創(chuàng)建以及簡單顯示(1)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 音視頻項目—基于FFmpeg和SDL的音視頻播放器解析(二十一)

    介紹 在本系列,我打算花大篇幅講解我的 gitee 項目音視頻播放器,在這個項目,您可以學到音視頻解封裝,解碼,SDL渲染相關的知識。您對源代碼感興趣的話,請查看基于FFmpeg和SDL的音視頻播放器 如果您不理解本文,可參考我的前一篇文章音視頻項目—基于FFmpeg和SDL的音視

    2024年02月02日
    瀏覽(101)
  • ffmpeg與SDL下載及VScode上相應的編程環(huán)境配置踩坑(windows系統(tǒng))

    ffmpeg與SDL下載及VScode上相應的編程環(huán)境配置踩坑(windows系統(tǒng))

    注:本教程默認您已經(jīng)配置好vscode的C++開發(fā)環(huán)境,如果沒有,請先看我的另一篇文章:https://blog.csdn.net/qq_45807140/article/details/112862592 選擇ffmpeg4.4版本,這個版本似乎是一個承前啟后的版本,兼容了舊的接口,能運行雷神的代碼 下載方法: 進入官網(wǎng),選擇Windows builds by BtbN,從

    2023年04月08日
    瀏覽(77)
  • 基于 FFmpeg 的跨平臺視頻播放器簡明教程(五):使用 SDL 播放視頻

    基于 FFmpeg 的跨平臺視頻播放器簡明教程(一):FFMPEG + Conan 環(huán)境集成 基于 FFmpeg 的跨平臺視頻播放器簡明教程(二):基礎知識和解封裝(demux) 基于 FFmpeg 的跨平臺視頻播放器簡明教程(三):視頻解碼 基于 FFmpeg 的跨平臺視頻播放器簡明教程(四):像素格式與格式轉換

    2024年02月12日
    瀏覽(94)
  • 基于 FFmpeg 的跨平臺視頻播放器簡明教程(六):使用 SDL 播放音頻和視頻

    基于 FFmpeg 的跨平臺視頻播放器簡明教程(六):使用 SDL 播放音頻和視頻

    基于 FFmpeg 的跨平臺視頻播放器簡明教程(一):FFMPEG + Conan 環(huán)境集成 基于 FFmpeg 的跨平臺視頻播放器簡明教程(二):基礎知識和解封裝(demux) 基于 FFmpeg 的跨平臺視頻播放器簡明教程(三):視頻解碼 基于 FFmpeg 的跨平臺視頻播放器簡明教程(四):像素格式與格式轉換

    2024年02月13日
    瀏覽(124)
  • [音視頻] sdl 渲染到外部創(chuàng)建的窗口上

    SDL_CreateWindowFrom # 在外部窗口上創(chuàng)建窗口 其他 api 調用,按照之前的

    2024年02月10日
    瀏覽(16)
  • SDL2 簡明教程(二):創(chuàng)建一個空的窗口

    SDL2 簡明教程(二):創(chuàng)建一個空的窗口

    SDL2 簡明教程(一):使用 Cmake 和 Conan 構建 SDL2 編程環(huán)境 SDL2 簡明教程(二):創(chuàng)建一個空的窗口 在上一篇文章中,我們了解了通過 CMake + Conan 引入 SDL2 庫進行編程。今天我們繼續(xù) SDL2 教學,學習如何創(chuàng)建一個空的窗口。 創(chuàng)建空窗口非常簡單,只需僅僅幾行代碼: 上述代碼

    2023年04月08日
    瀏覽(23)
  • 『FFmpeg學習筆記』MAC系統(tǒng)電腦安裝FFmpeg以及使用

    MAC系統(tǒng)電腦安裝FFmpeg

    2024年04月16日
    瀏覽(31)
  • Vue顯示FFmpeg推的流

    Vue顯示FFmpeg推的流

    小弟的另一篇文章: FFmpeg和rtsp服務器搭建視頻直播流服務-CSDN博客 1、拉取rtsp攝像頭流 ?2、推視頻的rtmp流 3、推hls的視頻流 ?4、推hls視頻流 1、代碼:https://github.com/caip1299920300/Vue-video-hls ?2、修改的地方: 3、配置ngnix,用于解決vue的跨域問題 參考:Ubuntu系統(tǒng)下Nginx安裝_ub

    2024年02月07日
    瀏覽(12)
  • ffmpeg的使用不簡單

    ffmpeg功能強大,它的使用實在是不簡單??纯此S帶的使用說明有多少?能不能看懂? 應該怎樣使用?怎樣靈活使用? Universal media converter usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Getting help: ? ? -h ? ? ?-- print basic options ? ? -h long -- print more options

    2024年03月18日
    瀏覽(12)
  • FFmpeg入門之簡單介紹

    FFmpeg入門之簡單介紹

    FFmpeg是什么意思:? Fast Forward Moving Picture Experts Group ffmpeg相關文檔: Documentation? FFmpeg ffmpeg源碼下載: https://git.videolan.org/git/ffmpeg.git https://github.com/FFmpeg/FFmpeg.git? FFmpeg能做什么? 多種媒體格式的封裝與解封裝?: 1.多種音視頻編解碼 (如: MP4/FLV/KV/TS) 2.多種協(xié)議流媒體 (如:RTMP/RTSP/M

    2024年02月09日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包