2011-01-14 6 views
3

イメージビューで設定した場合、または相対レイアウトの背景として設定した場合、イメージを不透明にすることができるかどうかを知りたいです。イメージをあるレベルまで不透明にするにはどうすればよいですか?

イメージを動的に設定するためのイメージビューまたは相対レイアウトを使用して、イメージを不透明にするにはどうすればよいですか?イメージとその不透明度を動的に設定するオプションはありますか?

また、同じ画像を両方向に回転させ、任意の位置にズームイン/ズームアウトすることもできます。

ありがとうございます。

+0

一つの方法の左上の象限に90度

  • ズーム用原画像中心の周りを回転します(ビットマップ関数を使用して)イメージの前処理を行い、相対レイアウト(ImageView)の背景としてdinamically(コードから)を設定することに注意してください。しかし、私はそれがあなたが望むものではないと思います。あなたはコントロール自体からそれをしたいと思いますが、スタイルを除いてそのプロパティは表示されません。 – Zelimir

  • +0

    @Zelimir - あなたが知っている例を説明することができます – Nikki

    +0

    私は自分の答えを追加しました。それはあなたのニーズに簡単に適応できるように、原則を記述しています。 – Zelimir

    答えて

    6

    以下の作業とテストされたコード。

    private void applyTransformToImageView(int code) 
    { 
        Bitmap bmpOriginal = BitmapFactory.decodeResource(this.getResources(), R.drawable.image2); 
        Bitmap bmResult = Bitmap.createBitmap(bmpOriginal.getWidth(), bmpOriginal.getHeight(), Bitmap.Config.ARGB_8888); 
        Canvas tempCanvas = new Canvas(bmResult); 
    
        switch (code) 
        { 
         case CHANGE_TRANSPARENCY: 
         { 
          Paint alphaPaint = new Paint(); 
          alphaPaint.setAlpha(128); 
          tempCanvas.drawBitmap(bmpOriginal, 0, 0, alphaPaint);    
         } 
         break; 
    
         case ROTATE: 
         { 
          tempCanvas.rotate(90, bmpOriginal.getWidth()/2, bmpOriginal.getHeight()/2); 
          tempCanvas.drawBitmap(bmpOriginal, 0, 0, null); 
         } 
         break; 
    
         case ZOOM_IN: 
         {    
          Rect zoomRegion = new Rect(); 
          zoomRegion.left = 0; 
          zoomRegion.top = 0; 
          zoomRegion.right = bmpOriginal.getWidth()/2; 
          zoomRegion.bottom = bmpOriginal.getHeight()/2; 
    
          Rect display = new Rect(); 
          display.left = 0; 
          display.top = 0; 
          display.right = bmpOriginal.getWidth(); 
          display.bottom = bmpOriginal.getHeight(); 
    
          tempCanvas.drawBitmap(bmpOriginal, zoomRegion, display, null); 
         } 
         break; 
    
         default: 
        } 
    
        mImageView.setImageBitmap(bmResult);    
    } 
    
    • 半透明に設定アルファ - 値128
    • は、私は、元の画像
    +0

    非常に良い、共有ありがとう! –

    +0

    あなたは大歓迎です。 – Zelimir

    関連する問題