1
我正在SDL.NET中製作一個程序,我需要繪製一個填充多邊形。我想這可能是很好的重用,而不是每一次我需要繪製時間改造它的多邊形面,所以我使表面像這樣,然後將其保存到一個字典算賬:SDL中的顏色表現得很怪異
polySur = Video.Screen.CreateCompatibleSurface(70, 70, true);
polySur.TransparentColor = Color.Magenta;
polySur.Fill(Color.Magenta);
polySur.Transparent = true;
poly.Draw(polySur, Color.LightGreen, false, true);
poly
是Polygon
我事先創建的對象。
您可能會認爲,當表面位於屏幕上時,會繪製淺綠色的多邊形;它沒有。生成的多邊形是青色!我通過實驗發現,如果我使用Color.FromArgb
製作Color,則R通道變爲紅色,G通道變爲青色,B通道變爲黑色。
但是,如果我將Draw調用中的第二個布爾值設置爲false(禁用填充),則會獲得淺綠色輪廓。顯然,填充操作會導致顏色混亂。
任何想法?