亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android 圖片縮放與旋轉(zhuǎn)的實現(xiàn)詳解

 更新時間:2013年06月19日 09:07:58   作者:  
本篇文章是對在Android中實現(xiàn)圖片縮放與旋轉(zhuǎn)的方法進行了詳細的分析介紹,需要的朋友參考下
本文使用Matrix實現(xiàn)Android實現(xiàn)圖片縮放與旋轉(zhuǎn)。示例代碼如下:
復制代碼 代碼如下:

package com.android.matrix;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ImageView.ScaleType;
/**
 * Android實現(xiàn)圖片縮放與旋轉(zhuǎn)。
 * @author Administrator
 *
 */
public class MatixActivity extends Activity {
    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);

        setTitle("Android實現(xiàn)圖片縮放與旋轉(zhuǎn)。");
        LinearLayout linLayout = new LinearLayout(this);

        //加載需要操作的圖片,這里是一張圖片
        Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),R.drawable.r);

        //獲取這個圖片的寬和高
        int width = bitmapOrg.getWidth();
        int height = bitmapOrg.getHeight();

        //定義預轉(zhuǎn)換成的圖片的寬度和高度
        int newWidth = 200;
        int newHeight = 200;

        //計算縮放率,新尺寸除原始尺寸
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;

        // 創(chuàng)建操作圖片用的matrix對象
        Matrix matrix = new Matrix();

        // 縮放圖片動作
        matrix.postScale(scaleWidth, scaleHeight);

        //旋轉(zhuǎn)圖片 動作
        matrix.postRotate(45);

        // 創(chuàng)建新的圖片
        Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
        width, height, matrix, true);

        //將上面創(chuàng)建的Bitmap轉(zhuǎn)換成Drawable對象,使得其可以使用在ImageView, ImageButton中
        BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

        //創(chuàng)建一個ImageView
        ImageView imageView = new ImageView(this);

        // 設置ImageView的圖片為上面轉(zhuǎn)換的圖片
        imageView.setImageDrawable(bmd);

        //將圖片居中顯示
        imageView.setScaleType(ScaleType.CENTER);

        //將ImageView添加到布局模板中
        linLayout.addView(imageView,
        new LinearLayout.LayoutParams(
        LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT
        )
        );

        // 設置為本activity的模板
        setContentView(linLayout);
     } 
}

上例是靜態(tài)地實現(xiàn)圖片縮放,下例中可以通過鼠標滑輪和方向鍵實現(xiàn)圖片動態(tài)的放大與縮小。
程序結(jié)構(gòu)如下圖:



Zoom.java文件中代碼:
復制代碼 代碼如下:

package com.android.zooming;
import android.view.View;
import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.drawable.Drawable; 
import android.view.KeyEvent; 
public class Zoom extends View {
     private Drawable image; 
     private int zoomControler=20; 

     public Zoom(Context context){ 
         super(context); 
         image=context.getResources().getDrawable(R.drawable.x); 
         setFocusable(true); 
     } 

     @Override 
     protected void onDraw(Canvas canvas) { 
         // TODO Auto-generated method stub 
         super.onDraw(canvas); 
         //控制圖像的寬度和高度
         image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler); 
         image.draw(canvas); 
     } 

     @Override 
     public boolean onKeyDown(int keyCode, KeyEvent event) { 

             if(keyCode==KeyEvent.KEYCODE_DPAD_UP)//放大
                     zoomControler+=10; 

             if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN) //縮小
                     zoomControler-=10; 

             if(zoomControler<10) 
                     zoomControler=10; 

             invalidate(); 
             return true; 
     } 
}

相關文章

  • Android?Java?try?catch?失效問題及解決

    Android?Java?try?catch?失效問題及解決

    這篇文章主要介紹了Android?Java?try?catch?失效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Android模擬器中安裝apk的方法

    Android模擬器中安裝apk的方法

    這篇文章主要介紹了Android模擬器中安裝apk的方法,結(jié)合圖文描述講解了Android的模擬器中實現(xiàn)安裝apk的具體步驟,簡單實用,需要的朋友可以參考下
    2015-12-12
  • Android 自定義SeekBar 實現(xiàn)分段顯示不同背景顏色的示例代碼

    Android 自定義SeekBar 實現(xiàn)分段顯示不同背景顏色的示例代碼

    這篇文章主要介紹了Android 自定義SeekBar 實現(xiàn)分段顯示不同背景顏色,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 簡單實現(xiàn)Android鬧鐘程序 附源碼

    簡單實現(xiàn)Android鬧鐘程序 附源碼

    這篇文章主要幫助大家簡單實現(xiàn)Android鬧鐘程序,附源碼下載,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android實現(xiàn)音樂播放器歌詞顯示效果

    Android實現(xiàn)音樂播放器歌詞顯示效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)音樂播放器歌詞顯示效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Android 獲取未安裝的APK圖標、版本號、包名等信息方法

    Android 獲取未安裝的APK圖標、版本號、包名等信息方法

    下面小編就為大家分享一篇Android 獲取未安裝的APK圖標、版本號、包名等信息方法,具有很好的參考價值,希望對大家有所幫助。
    2018-01-01
  • 詳談android界面之間數(shù)據(jù)的傳遞

    詳談android界面之間數(shù)據(jù)的傳遞

    下面小編就為大家?guī)硪黄斦刟ndroid界面之間數(shù)據(jù)的傳遞。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • AndroidStudio圖片壓縮工具ImgCompressPlugin使用實例

    AndroidStudio圖片壓縮工具ImgCompressPlugin使用實例

    這篇文章主要為大家介紹了AndroidStudio圖片壓縮工具ImgCompressPlugin使用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • android控件之WebView控件縮小

    android控件之WebView控件縮小

    發(fā)現(xiàn)這個控件挺好用,能自已控制進度條,而且這個控件的功能非常壯大,先上個簡單的
    2013-05-05
  • 詳解Gradle依賴沖突解決方式

    詳解Gradle依賴沖突解決方式

    這篇文章主要介紹了Gradle依賴沖突解決方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論