2014-11-24 92 views
1

讓我們直接切入正題,我是在製造一個機器人比賽,我決定嘗試使用像RectPath一些Android的方法,所以我可以嘗試,並瞭解它們是如何工作。 (過去我只使用位圖來繪製圖形)Android奇怪的繪圖畫布錯誤?

當我在製作遊戲時,我注意到了一些奇怪的顏色,所以我嘗試了很多東西,確保我的rects已正確初始化,而且我也試圖簡化我的代碼以確保問題是由此引起的。

爲了調試我的代碼繪製一個白色正方形屏幕的左上方,一個黑色的右上角,並在底部的是灰色的,這是代碼:

Paint pGray, pWhite, pBlack; 

public myClass() 
{ 
    paintGray = new Paint(); 
    paintGray.setARGB(255, 125, 125, 125); 

    paintWhite = new Paint(); 
    paintWhite.setARGB(255, 255, 255, 255); 

    paintBlack = new Paint(); 
    paintBlack.setARGB(255, 0, 0, 0); 
} 

public void draw(Canvas canvas) 
{ 
    canvas.drawRect(0, screenHeight/2, screenWidth, screenHeight, paintGray); 
    canvas.drawRect(0, 0, screenWidth/2, screenHeight/2, paintWhite); 
    canvas.drawRect(screenWidth/2, 0, screenWidth, screenHeight/2, paintBlack); 
}  

(我不知道這是否是重要的,但它運行在另一個Thread

當我我的手機上運行它,並使用Android Studio中的截圖看起來像這樣保存的截圖:

enter image description here

這是T他想要的結果,問題是,我的手機不能正常顯示圖形,這裏是照片:

enter image description here

正如你所看到的灰色方塊在其內部具有2種顏色,一個更深和更輕的一個。它發生在這兩款手機我有,我不知道它是什麼,甚至離奇的是,保存的截圖沒有顯示這個問題!

我還注意到基礎上,白色正方形,如果我在那裏的白色盒子結束它更大或更小的灰色方塊改變顏色的着色變化。

我注意到另一件事是,在灰色方塊「脫色」(與多個白框,多條線路出現)的這些線是橫向模式垂直,但在肖像它變成水平。

我一直在折磨我自己這麼多時間,這一點,我已經註釋掉了我的整個應用程序嘗試,看看爲什麼會發生,如果我失去了一些東西或任何人都知道什麼,請讓我知道!

回答

1

我不認爲這是一個軟件錯誤。我的猜測是,這就是顯示器呈現顏色的方式。

+0

鑑於該截圖顯示沒有錯誤看起來是這樣,但它是一個好主意,忽略它?它看起來討厭尤其是當有一個字符運行和跟隨他在地上 – TomTsagk 2014-11-24 14:57:18

+0

我不是一個平面設計師的線路之一,但它不是非常普遍使用的「全白」色「全黑」(在本質上沒有什麼是#FFFFFF)。我建議馴服調色板一點點:D此外,當任何紋理應用於元素的效果不會像可見。 – atok 2014-11-24 15:00:57

+0

在我原來的項目中,我用其他顏色,但全白和全黑似乎放大了這種錯誤,在我的遊戲我有更多的灰白的顏色,但它仍然是可見的(我讓他們用黑色與白色這個問題的目的),與紋理它不會是可見的,但它仍然會在那裏,它的竊聽我! :P – TomTsagk 2014-11-24 15:05:31