Зеркальное отображение изображения в ежевике - PullRequest
1 голос
/ 02 апреля 2012

Привет, я хочу преобразовать нормальное изображение в зеркало, т.е. эффект флопа в приложении BLACKBERRY. Я пробовал этот код, но не смог конвертировать ... Есть ли кто-нибудь, кто мог бы помочь мне сделать это ...

Если у вас другая логика для этого, поделитесь ..

public Bitmap changetoFlopEffect(Bitmap bitmap){

     int[] argb = new int[bitmap.getWidth() * bitmap.getHeight()];
     int[] newargb =new int[bitmap.getWidth() * bitmap.getHeight()];
     int  length=bitmap.getWidth();

     bitmap.getARGB(argb, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());

     for(int i=0;i<=bitmap.getHeight();i++)
     {
         for(int j=bitmap.getWidth(),k=0;j>0;j--)
         {
                //newargb[k]=argb[j];
                int swap=argb[j];
                newargb[k]=swap;
                k++;
         }
     }  
      bitmap.setARGB(newargb,0,bitmap.getWidth(),0,0,bitmap.getWidth(),bitmap.getHeight());
     return bitmap;       
}

1 Ответ

0 голосов
/ 03 апреля 2012

Ваши угловые условия кажутся неправильными, а проведенные вами пиксели взяты только из первой строки.Попробуйте это:

public Bitmap changetoFlopEffect(Bitmap bitmap){

 int[] argb = new int[bitmap.getWidth() * bitmap.getHeight()];
 int[] newargb =new int[bitmap.getWidth() * bitmap.getHeight()];
 int  length=bitmap.getWidth();
 int newIndex = 0;

 bitmap.getARGB(argb, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());

 for (int i = 0; i < bitmap.getHeight(); i++)
   for (int j = bitmap.getWidth()-1; j >= 0 ; j--){
    newargb[newIndex] = argb[i * bitmap.getWidth() + j];
    newIndex++;
   }  
  bitmap.setARGB(newargb,0,bitmap.getWidth(),0,0,bitmap.getWidth(),bitmap.getHeight());
 return bitmap;       
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...