我試圖使用自定義的.PNG文件從字母表中的字母給我的遊戲一些漂亮的文本圖形。然而,由於我的WinForms遊戲的核心功能使用最少的圖形工作(我有一個定時器設置爲啓動一個小動畫程序,當用戶輸入一個他們已經嘗試過的單詞時淡出「猜測」一詞 - 這是完成的使用DrawString())。現在我試圖讓DrawImage(Image, dstRect, srcRect, Unit)
工作,我已經設置爲在表單加載上運行。DrawImage()'精靈'沒有出現
private void DrawLetters()
{
// Create image.
Graphics letters = this.CreateGraphics();
Image newImage = Image.FromFile(strPath + "Letter_Map.png");
// Create rectangle for displaying image.
Rectangle destRect = new Rectangle(25, 25, 80, 80);
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(0, 0, 833, 833);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
letters.DrawImage(newImage, destRect, srcRect, units);
}
這實際上是逐字從MSDN網站。我的表單現在用一組標籤填充以向用戶顯示遊戲所需的字母網格。它們是否被覆蓋了自定義矩形?我想最終用圖像替換它們。我知道srcRect是(x,y,寬度,高度),所以我給了它全尺寸的'spritesheet'。對於dstRect,我只希望它在25x,25y左右的表格上放置一個80x80px的塊。
對於它的問題,我創建了一個空白表單,並在該表單加載事件(我將該函數複製到該表單的代碼)期間調用了我的DrawLetters()
函數。但是我什麼也沒看到,所以我開始有點困惑。我可能需要一些關於如何將繪圖與屏幕上繪製的表單和控件結合使用的教育。
編輯這https://stackoverflow.com/questions/837423/render-a-section-of-an-image-to-a-bitmap-c-sharp-winforms是讓我去最初的東西,但這個用戶有XNA的工作知識,似乎是試圖結合了與WinForms的。我相信,XNA對於我想要'漂亮'的簡單文本遊戲來說是過度殺傷力。
我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
謝謝,約翰。我會記住下次。 – armadadrive