哦,根據小趙的提示,現在看是有點這個味道,因為他第二張沒有反轉顏色,所以沒想到那只是翻轉前景和背景色,用XOR異或變換每一點就是了,那個反而簡單。GDI,我指的是Windows GDI,即圖形設備接口(Graphics Device Interface),是Windows系統自帶的圖形處理API,專用於繪圖和輸出的。
關於你這個系統系統,看來很像LED顯示屏的功能。如果每個點是LED燈,我不知道你要存成圖像是什麼意思,是用軟件模擬還是製作動畫演示?不過無論是什麼,在邏輯上,每個圈可以看成是一個整體(即點,把這個圈的點陣整塊當一個點來輸出,相當於放大鏡下的點圖案)。每個字符的點陣圖,我估計你已經有的,那麼問題只是動態變換前景色,不管彩色還是黑白,原理是一樣的,除非你每個字符的顏色有層次漸變。
在GDI設備下,最小的元素就是點,因此你只要能夠在屏幕窗口上把圖像畫出來,就能夠用GDI現成的功能把整幅圖存成JPG、BMP、PNG之類,那是沒有問題的,你只要去查Windows GDI的函數用法即可。至於反轉,只是簡單地把每個點的前景色(F)和背景色(B)記錄下來,要反轉時把前景作背景、背景作前景就可以了(這樣比異或運算的靈活性更大,可以隨時切換不同的顏色體系)。
關於你這個系統系統,看來很像LED顯示屏的功能。如果每個點是LED燈,我不知道你要存成圖像是什麼意思,是用軟件模擬還是製作動畫演示?不過無論是什麼,在邏輯上,每個圈可以看成是一個整體(即點,把這個圈的點陣整塊當一個點來輸出,相當於放大鏡下的點圖案)。每個字符的點陣圖,我估計你已經有的,那麼問題只是動態變換前景色,不管彩色還是黑白,原理是一樣的,除非你每個字符的顏色有層次漸變。
在GDI設備下,最小的元素就是點,因此你只要能夠在屏幕窗口上把圖像畫出來,就能夠用GDI現成的功能把整幅圖存成JPG、BMP、PNG之類,那是沒有問題的,你只要去查Windows GDI的函數用法即可。至於反轉,只是簡單地把每個點的前景色(F)和背景色(B)記錄下來,要反轉時把前景作背景、背景作前景就可以了(這樣比異或運算的靈活性更大,可以隨時切換不同的顏色體系)。
授人以渔,不授人以鱼。