久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Android

     ada_lib 2015-05-03

    實例: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./apk/res/android" 
        xmlns:tools="http://schemas./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./apk/res/android"
        xmlns:tools="http://schemas./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>

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲日韩一区精品射精| 亚洲熟妇无码乱子AV电影| 亚洲熟女乱色一区二区三区| 少妇愉情理伦片丰满丰满午夜| 精品视频在线观看免费观看| 99精品人妻少妇一区二区| 巨爆乳中文字幕爆乳区| 冲田杏梨AV一区二区三区| 中文字幕无码AV激情不卡| 中文字幕亚洲日韩无线码| 老司机久久99久久精品播放免费| 国产永久免费高清在线| 18精品久久久无码午夜福利| 中国熟妇毛多多裸交视频| 亚洲AV中文无码乱人伦| 无遮挡拍拍拍免费观看| 久久综合色之久久综合| 国产乱子伦视频在线播放| 好深好爽办公室做视频| 综合色一色综合久久网| 亚洲综合激情另类小说区| 蜜芽久久人人超碰爱香蕉| 精品成人乱色一区二区 | 国产盗摄xxxx视频xxxx| 欧美大屁股流白浆XXXX| 在线播放深夜精品三级| 日本无遮挡真人祼交视频| 中国女人熟毛茸茸A毛片| 四虎成人精品无码| 久久被窝亚洲精品爽爽爽| 亚洲AV无码专区国产乱码电影| 久久婷婷大香萑太香蕉AV人| 精品中文人妻中文字幕| 国产精品久久久久无码AV| 中文字幕无码免费久久99| 在国产线视频A在线视频| 成 年 人 黄 色 大 片大 全| 国产免费踩踏调教视频| 丁香五月亚洲综合在线国内自拍| 中文字幕无码AV激情不卡| 精品无码久久久久久久动漫 |