2013-09-28 10 views
1

我問這個問題的原因:驗證Winform繪圖是否正確完成?

我正在大學學習編程,在這裏我有兩個伴侶,他們是盲人。我們有一個稱爲基本計算機圖形學的類,我們使用GDI +(C#winform,System.Drawing類)。

據我所知,在.NET中沒有建立通知方法,讓用戶知道如果繪圖已經正確完成。有沒有其他方法,或者你有什麼想法來解決這個問題?這是一件嚴肅的事情,這些人可以編寫任何代碼,但他們每次需要調試時都需要附近的人來檢查結果。

我願意代碼整個事情,只是我不知道從哪裏開始的最佳點。謝謝!

+0

首先你必須定義指標。 「正確繪製」是什麼意思?一旦你列舉了你需要檢查的點數,請檢查它們。沒有罐頭通知。 – DonBoitnott

+0

如果圖紙發生了,我需要得到通知,這是超越界限(雖然這很容易解決);檢查它是否在應該在的位置(例如,我不確定我的計算是否將我的線條繪製的端點放在正確的位置(可能是因爲我正在計算角度),但是我可以繪製一個圓或矩形,所以我比較他們的位置或檢查他們是否見面等)。 – csakii

+0

你如何列舉點?點對象或繪製的像素?我真的很想看到能夠完成後者的事情。 – csakii

回答

2

您可以檢查大多數GDI +操作的錯誤代碼,但這只是給您錯誤(或確定)。

有我能想到的其他兩種類型的故障:

1 - 如果你畫的目標之外的東西,或者用背景色,你可能會失敗,但不會產生錯誤。

2 - 您可以繪製錯誤的東西或錯誤的顏色或錯誤的位置。

下面就來解決這個問題的一種方法:

1 - 對於每個繪圖操作,提供的應該是什麼樣子,在這一點上的位圖。

2 - 在每次繪圖操作後,他們應該調用一個函數,將它們的位圖與提供的「正確」位圖進行比較。

這隻會在位圖相同的情況下才起作用 - 所以問題規格(或者至少是實施)必須考慮到這一點。它也不適用於光標動畫等。但如果可以完成,它可能是一個很大的節省時間。

+0

在我看來,位圖是一個不錯的選擇。據我所知,我必須以某種方式轉播對象,因爲繪製和着色的像素無法用其計算。 – csakii