最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第三章:C4droid編程:SDL2_02:2D繪圖&顯示圖片

2022-11-11 21:00 作者:PonyLinuxlife  | 我要投稿

Hello, Everyone, 今天我來為你們講解SDL2顯示圖片和2D繪圖功能。

由于SDL2包裝了opengl函數(shù),使得顯示圖片更加簡單,所以難度會低不少。

首先我們先寫一個顯示圖片的程序,首先創(chuàng)建工程:

分別在main.c,Makefile輸入以下代碼:

接下來講解新用到的函數(shù)

你們可能會發(fā)現(xiàn),我用畫筆+畫筆&紙的方法講解,原因在于其操作過程比較像畫畫;

還有一點,Makefile SDL2鏈接參數(shù)做了一些修改,增加SDL2 其他組件;

編寫完程序后,編譯執(zhí)行會發(fā)現(xiàn)只有黑屏,原因是沒有圖片,需要自己制作或復(fù)制一個bmp格式的圖片。

制作圖片,可以用Krita,krita是開源免費的繪畫/2D動畫制作軟件,可以在Windows,macos,Linux,Android/iOS(僅限平板電腦)環(huán)境下運行。

開屏logo
krita主界面

畫出作品,當(dāng)然想怎么畫就怎么畫

畫好的圖(不是太好)

制作完成后分別保存bmp和jpg文件,位置為文件夾resources,后面要用到!

再次編譯運行后,就可以顯示圖片了!

還有一個問題你們可能會問,顯示圖片不是要用絕對路徑嗎?其實不一定要用絕對路徑,這個要看編譯出來的可執(zhí)行文件的位置,相對位置是相對于可執(zhí)行文件的,因為我用Makefile 編譯程序的,執(zhí)行文件在其文件夾中,而點擊主界面中的compile編譯出來的文件都在tmpdir中(地址參考第二章配置的環(huán)境變量

),在使用前者的相對地址是用不了的,只能用絕對地址。

還有要注意,必須把標(biāo)簽頁打到Makefile 在編譯才行,不然會因路徑錯誤導(dǎo)致不顯示圖片!!!

不過我還沒講完,后面還有很多!!!

顯示圖片還有一種方法,就是使用image組件,所有函數(shù)以IMG開頭

調(diào)用image組件,在#include另起一行輸入

在SDL2初始化函數(shù)下面添加以下初始化函數(shù)

把SDL_LoadBMP替換為IMG_Load,參數(shù)中的bmp改jpg。

保存,編譯,運行,效果與之前一樣。

還有,可以用IMG_LoadTexture,可以節(jié)省不少函數(shù)!關(guān)鍵代碼如下:

以上顯示圖片就講到這些,接下來是SDL2 2D繪圖。

因為函數(shù)太多,所以就不細(xì)說了,更多函數(shù)可以在官網(wǎng)wiki查看,也可以下載翻譯觀看(前提是瀏覽器要有翻譯功能)

最終運行效果是顯示紅綠藍(lán)刷全屏,然后黑屏畫3條紅綠藍(lán)交叉直線,最后是矩陣畫"彩虹"(云寶彩虹色)


第三章:C4droid編程:SDL2_02:2D繪圖&顯示圖片的評論 (共 條)

分享到微博請遵守國家法律
辽源市| 长沙市| 清水县| 嘉黎县| 抚顺市| 昂仁县| 台中县| 天水市| 饶平县| 牡丹江市| 中牟县| 县级市| 南漳县| 中山市| 宝兴县| 灯塔市| 贵州省| 福鼎市| 盐山县| 英超| 当阳市| 余姚市| 奉贤区| 米易县| 宝兴县| 鄂托克前旗| 准格尔旗| 铜鼓县| 金阳县| 巩义市| 苍溪县| 乌兰察布市| 新疆| 南华县| 肃宁县| 唐海县| 钦州市| 库尔勒市| 民乐县| 林口县| 太仓市|