[英]How to handle NaN value in graphics.DrawLine method in C#
我想在Graphics.DrawLine方法中處理NaN值。 請參考下面的代碼片段。
Private Graphics g;
m_g.DrawLine(pen, x1, y1, x2, y2);
在某些情況下,在我們的項目中, y1
和y2
值為NaN
。 因此會引發“溢出錯誤”之類的異常。
如何處理NaN值。
唯一的解決方案是檢查您的任何值是否為NaN,並且如果它們為,則不要調用DrawLine(如果x1,x2等是float
):
if (Single.IsNaN(y1) || Single.IsNaN...)
{
//Handle error
}
else
{
m_g.DrawLine(pen, x1, y1, x2, y2);
}
假設您的數據代表某種圖形,NaN可能意味着以下兩種情況之一:
在第一種情況下,NaN表示數據不正確,您有兩種選擇:不繪制任何數據,或將所有數據繪制到第一個NaN。 無論哪種方式,您都應該警告用戶該問題。
在第二種情況下,如果存在任何NaN,則應將數據“切”成不包含任何NaN的各個部分,然后繪制這些部分。 這樣您的圖形中就會有(有效)空白。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.