2012-04-02 24 views
1

こんにちは私は普通の画像を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;  
} 
+0

この問題は何ですか?いくつかのピクセルがミラーリングされていたのですか?あなたが得たもののいくつかの画像を投稿してください – tipycalFlow

答えて

0

あなたのコーナー条件が間違っているようだとあなたがスワイプピクセルは、最初の行のみからです。試してみてください:

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;  
} 
+0

私はあなたの返信の前にこれを解決しました....しかし、あなたの返信出力は私より優れています。それに感謝しています......私はイメージを負にしてモノクロームにすることができますか?返信 –

+0

私はjavax.microedition.amms.control.imageeffectのImageEffectControllインターフェイスを使用しました。私はこのリンクでこれを見つけたhttp://www.blackberry.com/developers/docs/6.0.0api/javax/microedition/amms/control/imageeffect/ImageEffectControl.html これはモノクロームとネガティブな効果のためです。 あなたの論理を共有してください。 –

+0

このスレッドに返信します - ブラックベリーアプリケーションでイメージにモノクロとネガティブな効果を適用する方法 –

関連する問題