亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android-如何將RGB彩色圖轉換為灰度圖方法介紹

2020-04-11 12:41:46
字體:
來源:轉載
供稿:網友

實例:RGB2Grey

項目運行效果圖:       

         /

 

 

源代碼

[java] 
public class MainActivity extends Activity { 

    /* (non-Javadoc)
     * @see android.app.Activity#onCreate(android.os.Bundle)
     */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        //通過Id來獲取界面中組件的引用  
        Button rgb2greyBtn  = (Button) findViewById(R.id.rgb2greybtn); 
        ImageView imageView1 = (ImageView) findViewById(R.id.imageView1); 
        final ImageView imageView2 = (ImageView) findViewById(R.id.imageView2);  
        //通過位圖工廠,創建一個位圖  
        final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_android); 
        imageView1.setImageBitmap(bitmap); 
        //為“轉換為灰度圖”按鈕添加監聽事件  
        rgb2greyBtn.setOnClickListener(new OnClickListener() { 

            @Override 
            public void onClick(View v) { 
                // TODO Auto-generated method stub  
                //將轉換過后的灰度圖顯示出來  
                imageView2.setImageBitmap(convertGreyImg(bitmap)); 
            } 
        }); 

    } 

    /**
     * 將彩色圖轉換為灰度圖
     * @param img 位圖
     * @return  返回轉換好的位圖
     */ 
    public Bitmap convertGreyImg(Bitmap img) { 
        int width = img.getWidth();         //獲取位圖的寬  
        int height = img.getHeight();       //獲取位圖的高  

        int []pixels = new int[width * height]; //通過位圖的大小創建像素點數組  

        img.getPixels(pixels, 0, width, 0, 0, width, height); 
        int alpha = 0xFF << 24;  
        for(int i = 0; i < height; i++)  { 
            for(int j = 0; j < width; j++) { 
                int grey = pixels[width * i + j]; 

                int red = ((grey  & 0x00FF0000 ) >> 16); 
                int green = ((grey & 0x0000FF00) >> 8); 
                int blue = (grey & 0x000000FF); 

                grey = (int)((float) red * 0.3 + (float)green * 0.59 + (float)blue * 0.11); 
                grey = alpha | (grey << 16) | (grey << 8) | grey; 
                pixels[width * i + j] = grey; 
            } 
        } 
        Bitmap result = Bitmap.createBitmap(width, height, Config.RGB_565); 
        result.setPixels(pixels, 0, width, 0, 0, width, height); 
        return result; 
    } 

public class MainActivity extends Activity {

    /* (non-Javadoc)
     * @see android.app.Activity#onCreate(android.os.Bundle)
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //通過Id來獲取界面中組件的引用
        Button rgb2greyBtn  = (Button) findViewById(R.id.rgb2greybtn);
        ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
        final ImageView imageView2 = (ImageView) findViewById(R.id.imageView2);
        //通過位圖工廠,創建一個位圖
        final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_android);
        imageView1.setImageBitmap(bitmap);
        //為“轉換為灰度圖”按鈕添加監聽事件
        rgb2greyBtn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    //將轉換過后的灰度圖顯示出來
    imageView2.setImageBitmap(convertGreyImg(bitmap));
   }
  });

    }

    /**
     * 將彩色圖轉換為灰度圖
     * @param img 位圖
     * @return 返回轉換好的位圖
     */
    public Bitmap convertGreyImg(Bitmap img) {
     int width = img.getWidth();   //獲取位圖的寬
     int height = img.getHeight();  //獲取位圖的高

     int []pixels = new int[width * height]; //通過位圖的大小創建像素點數組

     img.getPixels(pixels, 0, width, 0, 0, width, height);
     int alpha = 0xFF << 24;
     for(int i = 0; i < height; i++) {
      for(int j = 0; j < width; j++) {
       int grey = pixels[width * i + j];

       int red = ((grey  & 0x00FF0000 ) >> 16);
       int green = ((grey & 0x0000FF00) >> 8);
       int blue = (grey & 0x000000FF);

       grey = (int)((float) red * 0.3 + (float)green * 0.59 + (float)blue * 0.11);
       grey = alpha | (grey << 16) | (grey << 8) | grey;
       pixels[width * i + j] = grey;
      }
     }
     Bitmap result = Bitmap.createBitmap(width, height, Config.RGB_565);
     result.setPixels(pixels, 0, width, 0, 0, width, height);
     return result;
    }
}
 

布局文件:

[html] 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 
    <ImageView  
        android:id="@+id/imageView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal" 
        /> 
    <Button  
        android:id="@+id/rgb2greybtn" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/rgb2greybtn" 
        android:layout_gravity="center_horizontal"/> 
    <ImageView  
        android:id="@+id/imageView2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal" 
        />" 
</LinearLayout> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 <ImageView
     android:id="@+id/imageView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal"
     />
 <Button
     android:id="@+id/rgb2greybtn"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/rgb2greybtn"
     android:layout_gravity="center_horizontal"/>
 <ImageView
     android:id="@+id/imageView2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal"
     />"
</LinearLayout>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人在线视频福利| 亚洲性视频网址| 成人妇女淫片aaaa视频| 欧美激情久久久| 欧美乱大交做爰xxxⅹ性3| 欧美精品999| 国产精品久久久久免费a∨| 国产午夜精品一区理论片飘花| 国产精品视频色| 久久久久久久电影一区| 国产午夜精品免费一区二区三区| 欧美最顶级丰满的aⅴ艳星| 中文字幕av一区二区| 欧美孕妇孕交黑巨大网站| 亚洲国语精品自产拍在线观看| 国产日韩欧美在线| 久热精品视频在线观看| 在线成人中文字幕| 欧美美女操人视频| 色哟哟网站入口亚洲精品| 91久久精品久久国产性色也91| 亚洲精品视频免费在线观看| 欧美性极品xxxx做受| 欧美性受xxxx黑人猛交| 欧美一区二区三区精品电影| 97超碰国产精品女人人人爽| 日韩高清免费观看| 亚洲精品乱码久久久久久按摩观| 成人激情视频在线观看| 国产精品色视频| 欧美理论片在线观看| 韩国19禁主播vip福利视频| 国产视频精品免费播放| 九色91av视频| 综合激情国产一区| 热99精品只有里视频精品| 亚洲国产精品久久91精品| 欧美专区日韩视频| 欧美日韩国产专区| 日韩中文字幕免费| 欧美成人免费视频| 欧美性资源免费| 色综合色综合久久综合频道88| 日本亚洲精品在线观看| 亚洲美女喷白浆| 国产97在线亚洲| 久久香蕉频线观| 国产91免费观看| 欧美高清videos高潮hd| 日韩精品中文字幕在线播放| 精品久久久免费| 韩国福利视频一区| 在线看欧美日韩| 亚洲国产欧美一区二区三区同亚洲| 91久久久久久久| 欧美日韩国产页| 亚洲xxxx妇黄裸体| 亚洲精品91美女久久久久久久| 欧美日韩国产精品一区二区不卡中文| 国产精品女人久久久久久| 97久久精品人人澡人人爽缅北| 国产91成人在在线播放| 久久久久亚洲精品成人网小说| 中文字幕亚洲无线码在线一区| 国产精品偷伦一区二区| 日韩影视在线观看| 亚洲欧美视频在线| 欧美中文字幕视频在线观看| 日韩欧美视频一区二区三区| 欧美激情久久久久| 51精品国产黑色丝袜高跟鞋| 亚洲曰本av电影| 亚洲欧美激情在线视频| www.国产精品一二区| 亚洲天堂av高清| 国产成人亚洲综合青青| 国产免费一区二区三区在线观看| 日韩在线www| 国产91精品高潮白浆喷水| 国产欧美日韩精品丝袜高跟鞋| 国产精品一区二区三区毛片淫片| 欧美日韩精品二区| 精品国产一区二区三区四区在线观看| 在线播放日韩专区| 国产一区私人高清影院| 亚洲视频第一页| 成人午夜小视频| 亚洲天堂成人在线| 九九久久久久99精品| 日韩在线免费观看视频| 亚洲综合精品伊人久久| www.xxxx欧美| 日本aⅴ大伊香蕉精品视频| 国产精品入口福利| 中文字幕日韩av综合精品| 国产精品永久免费在线| 在线电影av不卡网址| 日本人成精品视频在线| 一区二区三区亚洲| 成人激情黄色网| 日韩综合中文字幕| 亚洲精品一区二区在线| 欧美精品九九久久| 亚洲电影免费观看高清| 97视频在线观看免费高清完整版在线观看| 2020国产精品视频| 国产成人精品综合久久久| 亚洲第一黄色网| 中文字幕欧美亚洲| 欧美成aaa人片免费看| 成人免费看片视频| 亚洲精品第一国产综合精品| 最近日韩中文字幕中文| 欧洲美女7788成人免费视频| 欧美在线一级va免费观看| 亚洲日本aⅴ片在线观看香蕉| 日韩成人高清在线| 国产中文日韩欧美| 国产69久久精品成人| 91免费国产网站| 亚洲成人a**站| 久久久亚洲国产天美传媒修理工| 国产精品福利在线观看| 日韩欧美在线视频| 成人精品视频在线| 亚洲网站在线观看| 日本在线观看天堂男亚洲| 色www亚洲国产张柏芝| 97精品一区二区视频在线观看| 久久久久久久久久久人体| 国产一区二区三区在线观看视频| 欧美成人免费播放| 91天堂在线视频| 国产精品九九九| 国产亚洲精品美女久久久| 国产精品成人一区二区三区吃奶| 91av在线不卡| 97精品一区二区三区| 亚洲欧美日韩精品久久| 一区二区三区回区在观看免费视频| 4444欧美成人kkkk| 欧美午夜www高清视频| 成人午夜在线影院| 欧美特黄级在线| 国产精品美女免费看| 欧洲s码亚洲m码精品一区| 成人激情视频在线| 日本人成精品视频在线| 国产区精品视频| 国产91久久婷婷一区二区| 日韩大片免费观看视频播放| 精品二区三区线观看| 91亚洲精华国产精华| 国产小视频91| 91禁外国网站| 国产激情久久久久| 国产亚洲欧美另类中文| 91精品在线看| 欧美在线国产精品| 亚洲美女av在线| 久久视频免费观看| 国产精品久久综合av爱欲tv| 日韩中文字幕免费| 亚洲新声在线观看|