2013-04-10 2 views
0

Я просто хочу сделать зеркальное отражение для моего изображения логотипа. Поэтому я использовал следующий код. enter image description hereenter image description hereAndroid: Удалить цвет разделителя в Reflection Drawable

public Bitmap applyReflection(Drawable drawable) { 
      Bitmap originalImage = ((BitmapDrawable)drawable).getBitmap(); 
      final int reflectionGap = -4; 
      int width = originalImage.getWidth(); 
      int height = originalImage.getHeight();   
      Matrix matrix = new Matrix(); 
      matrix.preScale(1, -1); 
      Bitmap reflectionImage = Bitmap.createBitmap(originalImage, 0, height/2, width, height/2, matrix, false);   
      Bitmap bitmapWithReflection = Bitmap.createBitmap(width, (height + height/2), Config.ARGB_8888); 
      Canvas canvas = new Canvas(bitmapWithReflection); 
      canvas.drawBitmap(originalImage, 0, 0, null); 
      Paint defaultPaint = new Paint(); 
      canvas.drawRect(0, height, width, height + reflectionGap, defaultPaint); 
      canvas.drawBitmap(reflectionImage,0, height + reflectionGap, null); 

      Paint paint = new Paint(); 
      LinearGradient shader = new LinearGradient(0, originalImage.getHeight(), 0, 

        bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP); 
      //paint.setShader(shader); 
      paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); 
      canvas.drawRect(0, height, width, bitmapWithReflection.getHeight() + reflectionGap, paint); 

      return bitmapWithReflection; 
     } 

Я просто хочу, чтобы удалить строку разделитель черный. Просьба предоставить мне лучший способ сделать это ....

ответ

0

Наконец-то я нашел ошибку. Я думал, final int reflectionGap = -4; уменьшит разрыв. Но я должен положить final int reflectionGap = 0;. После этого линия разделителя удаляется

Смежные вопросы