2014-11-24 101 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