Android 模拟器与其他 Mac 应用程序中的 RGB 颜色看起来不同
RGB colors look different in Android emulator vs every other Mac app
与 Adobe Photoshop 或 Google [=37] 相比,使用 Canvas
和 Paint
绘图时,Android 模拟器或 Android 设备中的颜色看起来非常不同=] 运行在同一个Mac(和同一个屏幕)中。
请查看下一个屏幕截图以了解不同之处。左边是 Google Chrome 中的 website,右边是 Android 模拟器,有两个正方形,应该与网站中的两种颜色相匹配。
如果我将 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);
差别很大。难道我做错了什么?我希望颜色看起来相似。
感谢阅读!
问题出在 ImageView
定义中。我有一个 android:tint
属性。
<ImageView
android:id="@+id/myImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tint="#55ff0000" />
删除属性可以解决问题。
与 Adobe Photoshop 或 Google [=37] 相比,使用 Canvas
和 Paint
绘图时,Android 模拟器或 Android 设备中的颜色看起来非常不同=] 运行在同一个Mac(和同一个屏幕)中。
请查看下一个屏幕截图以了解不同之处。左边是 Google Chrome 中的 website,右边是 Android 模拟器,有两个正方形,应该与网站中的两种颜色相匹配。
如果我将 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);
差别很大。难道我做错了什么?我希望颜色看起来相似。
感谢阅读!
问题出在 ImageView
定义中。我有一个 android:tint
属性。
<ImageView
android:id="@+id/myImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tint="#55ff0000" />
删除属性可以解决问题。