Android奇怪的绘图 Canvas 错误?

标签 android android-canvas

让我们开门见山,我正在制作一个安卓游戏,我决定尝试使用更多的安卓方法,比如 RectPath 这样我就可以试验和了解他们是如何工作的。 (以前我只用位图来画图形)

当我制作游戏时,我注意到我的矩形有一些奇怪的颜色,所以我尝试了很多东西,我确保我的矩形被正确初始化,我还尝试简化我的代码以确保问题是在那里引起的.

出于调试目的,我的代码在屏幕的左上角绘制了一个白色方 block ,在右上角绘制了一个黑色方 block ,在底部绘制了一个灰色方 block ,这是代码:

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

这是他想要的结果,问题是我的手机没有正确显示图形,这是一张照片:

enter image description here

如您所见,灰色方 block 内部有两种颜色,一种较深,一种较浅。它发生在我拥有的两部手机上,我不知道它是什么,更奇怪的是保存屏幕截图并没有显示这个问题!

我还注意到颜色会根据白色方 block 发生变化,如果我将其变大或变小,灰色方 block 会在白色方 block 结束处改变其颜色。

我注意到的另一件事是灰色方 block 上的这些“脱色”线(有多个白框,出现多条线)在横向模式下是垂直的,但在纵向模式下它变成水平的。

我一直在用这个折磨自己很多时间,我已经注释掉了我的整个应用程序以尝试查看它发生的原因,如果我遗漏了什么或任何人知道什么请告诉我!

最佳答案

我认为这不是软件错误。我猜这就是显示器呈现颜色的方式。

关于Android奇怪的绘图 Canvas 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27107409/

相关文章:

android如何在jpeg上创建鱼眼效果

java - 在计时器任务中获取 NPE

android - 将数据解析为数组

android - Android 中使用 ksoap2 的 NTLM 身份验证

android - 如何在 Android 中找到形状的旋转点

java - 创建一个随机圆圈,可以像按钮一样单击,但它是一个圆圈

android - 有没有办法专门为三星设备设置应用程序图标?

android - Canvas.drawArc() Artifact

android - 在 Canvas Android 中随机移动网格路径上的球

Android Surface 和 ScreenResolution