HKGalden學術臺
發表文章發起投票
[Python研究分享]分析Bitmap地圖

(Paradox Victoria2地圖係極佳應用例子)

首先你有張完整既Bitmap世界地圖,咁你點將以上每個省份獨立Gen出黎做顯示運算呢? (即Python三國既地圖mode)

使用工具:
Python + Tkinter(顯示用) + PIL(處理圖片用)

解決思路:
 每個省份fill咗顏色(RGB色碼唔重覆)
 .逐粒pixel搵:
  .如果係黑色(省份邊界):
   .如果鄰近八粒pixel有未出現過既省份RGB色碼(A):
    開始搵所有圍住呢個省份既黑色pixel

 搵pixel,有一個Empty既List記錄pixels
 .第一粒pixel
 .搵第二粒pixel,如果鄰近八粒pixel當中有A就加入List入面,如此類推,直到LOOP到第一粒pixel隔離最尾個粒pixel
 (每個省份都一定有黑色pixel圍住,用A黎判斷避免搵錯位


好處:
 .畫地圖可以真係畫,唔使自己搵XY軸(假如你需要做高階地圖,宣傳:例如Python三國
缺點:
 .張地圖要有固定格式(黑色pixel要面對面連接,對角唔當連接)
 .每個省份要上色(可以另外整個自動上色)
 .要裝Python同PIL(或者其他圖像處理module)

例子:




愛爾蘭 0.13秒
日本 0.45秒
英國 0.60秒
視乎地圖大細及省份周界

Code:
https://github.com/Montague27/Python-Bitmap
Good8Bad0
2016/10/30, 6:22:10 晚上
本貼文共有 0 個回覆
此貼文已鎖,將不接受回覆
發表文章發起投票