使用Canvas
和Paint
进行绘制时,Android模拟器或Android设备中的颜色与在同一台Mac(同一屏幕)中运行的Adobe Photoshop或Google Chrome相比,看起来非常不同。
请参阅下一个屏幕截图,了解其中的差异。左侧是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);
有很大的不同。难道我做错了什么?我希望颜色看起来很相似。
感谢阅读!
答案 0 :(得分:0)
问题出在ImageView
定义中。我有一个android:tint
属性。
<ImageView
android:id="@+id/myImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tint="#55ff0000" />
删除属性可以解决问题。