找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9583|回復(fù): 22
收起左側(cè)

[原創(chuàng)文檔分享]一步一步寫帶界面的程序(基于EasyX等庫)C++語言

  [復(fù)制鏈接]
ID:166089 發(fā)表于 2019-6-17 09:39 | 顯示全部樓層 |閱讀模式
從C語言開始入門學(xué)編程的人都不會(huì)對黑乎乎的運(yùn)行窗口覺得陌生,在學(xué)完大部分C語言基礎(chǔ)知識(shí)后,想自己寫一個(gè)色彩斑斕、花里胡哨的程序,卻無從下手,只得看著黑乎乎的運(yùn)行窗口沉思。
本文將介紹一種可以讓程序色彩斑斕、花里胡哨的圖形庫——EasyX。EasyX 是針對 C++ 的圖形庫,可以幫助 C 語言初學(xué)者快速上手圖形和游戲編程。比如,可以用 VC + EasyX 很快的用幾何圖形畫一個(gè)房子,或者一輛移動(dòng)的小車,可以編寫俄羅斯方塊、貪吃蛇、黑白棋等小游戲,可以練習(xí)圖形學(xué)的各種算法等等。
全文共15章,前13章為編程和EasyX基礎(chǔ),第14章是以前13章為基礎(chǔ)的完整游戲示例,第15章記錄著本文檔各版本修訂記錄。本文中的示例代碼和截圖皆是在windows 10、vs2010旗艦版、EasyX_20190415(beta)下進(jìn)行,編碼字符集為unicode。若是其他環(huán)境,運(yùn)行過程有差異請自行百度或與他人交流。
建議讀者第一次閱讀時(shí)按章節(jié)順序閱讀,其他時(shí)候可根據(jù)自己需要到對應(yīng)章節(jié)查看內(nèi)容,點(diǎn)擊目錄即可跳轉(zhuǎn)至對應(yīng)章節(jié)部分,示例代碼和資源文件存于【附件】文件夾內(nèi),閱讀文檔時(shí)點(diǎn)擊相關(guān)文字的超鏈接即可直接打開對應(yīng)的示例代碼和資源文件(夾)。
本文僅僅介紹了EasyX中的冰山一角,更多操作,還需讀者自行發(fā)掘,EasyX的幫助文檔、官網(wǎng)、貼吧、CodeABC內(nèi)含有大量的技術(shù)文章和示例代碼,如有需要,可前往閱讀學(xué)習(xí)。
由于本人水平有限,文中可能存在部分錯(cuò)誤、敘述不清晰或不全面,歡迎讀者通過郵箱(no1xijin@126.com)聯(lián)系本人,獲取最新版文檔、附件資源,文檔內(nèi)容糾正,投稿,技術(shù)交流等。
本文是第二版,是在第一版(2019年5月3日)的基礎(chǔ)上進(jìn)行修改和新增形成的。主要變化內(nèi)容有:
1.    新增第1.3節(jié)內(nèi)容:unicode字符集函數(shù)與多字節(jié)字符集函數(shù)對照表
2.    新增第3章內(nèi)容:繪制圖形
3.    新增第6.3節(jié)內(nèi)容:復(fù)雜響應(yīng)功能按鍵的示例
4.    新增第8.5節(jié)內(nèi)容:多張圖片輸出示例
5.    新增第12.3節(jié)內(nèi)容:隨機(jī)數(shù)函數(shù)
6.    新增第12.4節(jié)內(nèi)容:時(shí)間函數(shù)
7.    新增第13章內(nèi)容:將資源(圖片、音頻等)嵌入exe
8.    新增第14章內(nèi)容:綜合示例1(連連看)
9.    新增第15章內(nèi)容:附錄•版本修訂記錄
10.    新增文檔示例代碼等配套資源,點(diǎn)擊文檔適當(dāng)位置的超鏈接即可打開對應(yīng)的資源
11.    新增第7章播放、停止音頻中各示例代碼檢查資源是否存在
12.    新增第8章輸出圖片(包括背景透明圖片)中各示例代碼檢查資源是否存在、檢查圖片格式是否標(biāo)準(zhǔn)。
13.    新增第9章讀寫應(yīng)用程序的配置信息文件ini中各示例代碼檢查資源是否存在
14.    修改部分示例代碼中注釋錯(cuò)誤
15.    修改第12章標(biāo)題為:畫龍點(diǎn)睛
16.    調(diào)整文字、代碼的內(nèi)容和格式

1.png 2.jpg 3.jpg

完整的pdf格式文檔51黑下載地址(共181頁):
一步一步寫帶界面的程序(基于EasyX等庫).pdf (6.71 MB, 下載次數(shù): 142)

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:603484 發(fā)表于 2019-8-25 07:35 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:285863 發(fā)表于 2019-8-25 13:35 | 顯示全部樓層
樓主辛苦了 謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:282095 發(fā)表于 2019-8-25 14:48 | 顯示全部樓層
不錯(cuò)不錯(cuò) 感謝分享
回復(fù)

使用道具 舉報(bào)

ID:618221 發(fā)表于 2019-9-30 05:51 | 顯示全部樓層
樓主辛苦了 謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:617327 發(fā)表于 2019-10-1 01:06 | 顯示全部樓層
51黑有你更精彩
回復(fù)

使用道具 舉報(bào)

ID:503733 發(fā)表于 2019-10-8 11:03 | 顯示全部樓層
不錯(cuò)的帖子
回復(fù)

使用道具 舉報(bào)

ID:688149 發(fā)表于 2020-1-25 19:47 | 顯示全部樓層
超有用!解決了我很多問題
回復(fù)

使用道具 舉報(bào)

ID:704900 發(fā)表于 2020-3-9 00:01 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:253767 發(fā)表于 2020-4-29 06:48 | 顯示全部樓層
謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

ID:253767 發(fā)表于 2020-5-22 07:17 | 顯示全部樓層
謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

ID:837547 發(fā)表于 2020-11-1 23:35 | 顯示全部樓層
謝謝樓主慷慨分享,好人一生平安!
回復(fù)

使用道具 舉報(bào)

ID:858947 發(fā)表于 2020-12-11 22:15 | 顯示全部樓層
感謝分享。這是一個(gè)開源庫,但對小白來說,目前入門仍有難度,這本書很急需,感謝作者的付出與無私!
回復(fù)

使用道具 舉報(bào)

ID:166089 發(fā)表于 2020-12-14 19:48 | 顯示全部樓層
auyach 發(fā)表于 2020-12-11 22:15
感謝分享。這是一個(gè)開源庫,但對小白來說,目前入門仍有難度,這本書很急需,感謝作者的付出與無私!

這是第三版,新增了一些內(nèi)容,可以參考一下。

http://www.torrancerestoration.com/bbs/dpj-192033-1.html
回復(fù)

使用道具 舉報(bào)

ID:756378 發(fā)表于 2020-12-14 23:39 | 顯示全部樓層
H5都能做簡單3D游戲了 對這個(gè)沒興趣了。
回復(fù)

使用道具 舉報(bào)

ID:883938 發(fā)表于 2021-2-11 01:24 | 顯示全部樓層
樓主,我能問問你的EasyX教程里面的transparent函數(shù)嗎?我有一張黑色背景的照片,想透明輸出。可能是因?yàn)槲覜]有弄懂參數(shù)的意思,所以我沒有成功。我想知道失敗原因,您空閑的時(shí)候方便解答一下么?
回復(fù)

使用道具 舉報(bào)

ID:166089 發(fā)表于 2021-2-11 15:59 | 顯示全部樓層
氦氬 發(fā)表于 2021-2-11 01:24
樓主,我能問問你的EasyX教程里面的transparent函數(shù)嗎?我有一張黑色背景的照片,想透明輸出?赡苁且?yàn)槲?...

你好,transparent函數(shù)是網(wǎng)絡(luò)上找的,具體原理我也不是很清楚。若想透明輸出圖片,首先圖片本身需要是png格式的,其次圖片中需要透明的部分需要處理掉,具體處理可以自行百度相關(guān)關(guān)鍵詞(或者參考:https://zhidao.baidu.com/question/384183203.html)
回復(fù)

使用道具 舉報(bào)

ID:883938 發(fā)表于 2021-2-18 19:28 | 顯示全部樓層
no1xijin 發(fā)表于 2021-2-11 15:59
你好,transparent函數(shù)是網(wǎng)絡(luò)上找的,具體原理我也不是很清楚。若想透明輸出圖片,首先圖片本身需要是png ...

OK,謝謝
回復(fù)

使用道具 舉報(bào)

ID:883938 發(fā)表于 2021-2-18 23:48 | 顯示全部樓層
no1xijin 發(fā)表于 2021-2-11 15:59
你好,transparent函數(shù)是網(wǎng)絡(luò)上找的,具體原理我也不是很清楚。若想透明輸出圖片,首先圖片本身需要是png ...

樓主,那張照片是png格式的,是我在網(wǎng)上生成的彩字的圖片,白底黑字。然后我用ppt把圖片搞成了透明色,放在程序里是黑底黑字,有白色虛線邊框,然后我用了您的文檔里的transparentimage函數(shù),居然透明輸出了,我懵了。
回復(fù)

使用道具 舉報(bào)

ID:166089 發(fā)表于 2021-2-19 14:00 | 顯示全部樓層
氦氬 發(fā)表于 2021-2-18 23:48
樓主,那張照片是png格式的,是我在網(wǎng)上生成的彩字的圖片,白底黑字。然后我用ppt把圖片搞成了透明色,放 ...

一般在線生成的藝術(shù)字在生成時(shí)可以選擇生成背景透明的圖片的(注意生成圖片選擇png格式)。
你懵是指什么?還有哪里有問題么
回復(fù)

使用道具 舉報(bào)

ID:883938 發(fā)表于 2021-2-19 22:35 | 顯示全部樓層
no1xijin 發(fā)表于 2021-2-19 14:00
一般在線生成的藝術(shù)字在生成時(shí)可以選擇生成背景透明的圖片的(注意生成圖片選擇png格式)。
你懵是指什么 ...

我沒有找到可以生成透明背景圖片的網(wǎng)站,所以一直在找透明輸出的方法。然而最開始白底黑字的圖片用transparentimage沒有成功。然后我百度的時(shí)候,發(fā)現(xiàn)有人說這個(gè)函數(shù)有bug——TransparentColor不能為COLORREF color=RGB(0,0,0);也就是說不能為黑色。但是我又看不懂這個(gè)函數(shù),所以我放棄了用它。
后來我看到了XOR和掩碼位圖,但對菜雞來說,這太難了。
還有就是用ps或者ppt;
還有putimage(x,y,&img1,SRCAND);
//白底黑字
putimage(x,y,&img2,SRCRAINT);
//黑底彩字
//先SRCAND模式貼一張白底黑字的圖,再SRCRAINT模式貼一張黑底彩字圖,然后白底和黑底部分(需要重合)會(huì)鏤空,也就是透明。
所以easyX該怎樣實(shí)現(xiàn)透明輸出呢?
大佬,真的麻煩了,菜雞已經(jīng)懵了。而且我之前并沒有用過VS,所以對這里面很多函數(shù)非常陌生。
回復(fù)

使用道具 舉報(bào)

ID:166089 發(fā)表于 2021-2-20 01:25 | 顯示全部樓層
氦氬 發(fā)表于 2021-2-19 22:35
我沒有找到可以生成透明背景圖片的網(wǎng)站,所以一直在找透明輸出的方法。然而最開始白底黑字的圖片用transp ...

這個(gè)網(wǎng)址可以生成背景透明的藝術(shù)字(背景顏色選擇右上角帶有紅色對角線的方框):www點(diǎn)diyiziti點(diǎn)com (自行替換)

透明和RGB(0,0,0)是不同的,透明是指沒有色彩,而RGB(0,0,0)是有色彩。
回復(fù)

使用道具 舉報(bào)

ID:883938 發(fā)表于 2021-2-20 12:12 | 顯示全部樓層
no1xijin 發(fā)表于 2021-2-20 01:25
這個(gè)網(wǎng)址可以生成背景透明的藝術(shù)字(背景顏色選擇右上角帶有紅色對角線的方框):www點(diǎn)diyiziti點(diǎn)com (自 ...

找到了,感謝!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表