Android - 随地吐痰位图导致低质量

时间:2014-05-25 22:46:16

标签: android bitmap gradient

我的目标是创建一个半椭圆形渐变图像。我创建了一个渐变Drawable,然后将其转换为位图并切成两半以获得最终形状,显示在图片的右侧。

我怀疑这是否是最佳方式,所以请随意推荐其他方法。

问题是在分割位图后质量很低。您可以看到半渐变的边缘是像素化的。这在分割位图时发生。 我该怎么做才能保持最初的质量?

//create gradient drawable
GradientDrawable gd = new GradientDrawable(orientation,new int[] {firstColor, secondColor});
gd.setCornerRadius(0f);
gd.setShape(GradientDrawable.OVAL);

//convert drawable to bitmap
int width=imageView.getLayoutParams().width;
int height=imageView.getLayoutParams().height;
Bitmap bitmap = Bitmap.createBitmap(width,height, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap); 
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);

//cut bitmap in half
bitmap=Bitmap.createBitmap(bitmap, width/2, 0,  width/2, height);
imageView.setImageBitmap(bitmap);
imageView..setScaleType(ScaleType.FIT_XY);

enter image description here

0 个答案:

没有答案