Android模拟器中的RGB颜色与其他所有Mac应用程序

时间:2016-12-27 19:12:52

标签: android android-5.0-lollipop

使用CanvasPaint进行绘制时,Android模拟器或Android设备中的颜色与在同一台Mac(同一屏幕)中运行的Adobe Photoshop或Google Chrome相比,看起来非常不同。

请参阅下一个屏幕截图,了解其中的差异。左侧是Google Chrome中的website,右侧是Android模拟器,其中两个正方形应与网站中的两种颜色相匹配。

Website vs Android emulator comparison

如果我将RGB颜色复制并粘贴到Adobe Photoshop,颜色将与网站中显示的颜色匹配。如果我在真实设备中运行我的Android应用程序,颜色仍然看起来像Android模拟器中显示的颜色。

我用来绘制Canvas的代码是:

Bitmap bitmap = Bitmap.createBitmap(
        imageView.getWidth(),
        imageView.getHeight(),
        Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(bitmap);

Paint paint1 = new Paint();
paint1.setColor(Color.parseColor("#23B2A8"));
canvas.drawRect(0, 0, 200, 200, paint1);

Paint paint2 = new Paint();
paint2.setColor(Color.parseColor("#213468"));
canvas.drawRect(200, 0, 400, 200, paint2);

imageView.setImageBitmap(bitmap);

有很大的不同。难道我做错了什么?我希望颜色看起来很相似。

感谢阅读!

1 个答案:

答案 0 :(得分:0)

问题出在ImageView定义中。我有一个android:tint属性。

<ImageView
    android:id="@+id/myImageView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:tint="#55ff0000" />

删除属性可以解决问题。