1. 程式人生 > >【Android】Bitmap上繪製矩形/畫中畫

【Android】Bitmap上繪製矩形/畫中畫

                Bitmap photo = BitmapFactory.decodeResource(getResources(), R.drawable.img);
                Bitmap tempBitmap = photo.copy(Bitmap.Config.ARGB_8888, true);
                Canvas canvas = new Canvas(tempBitmap);

                //影象上畫矩形
                Paint paint = new Paint();
                paint.setColor(Color.RED);
                paint.setStyle(Paint.Style.STROKE);//不填充
                paint.setStrokeWidth(10);  //線的寬度
                canvas.drawRect(10, 20, 100, 100, paint);
                show.setImageBitmap(tempBitmap);

                //畫中畫
                Paint photoPaint = new Paint(); // 建立畫筆
                photoPaint.setDither(true); // 獲取跟清晰的影象取樣
                photoPaint.setFilterBitmap(true);// 過濾一些

                Rect src = new Rect(0, 0, photo.getWidth(), photo.getHeight());// 建立一個指定的新矩形的座標
                Rect dst = new Rect(0, 0, 100, 150);// 建立一個指定的新矩形的座標
                canvas.drawBitmap(tempBitmap, src, dst, photoPaint);// 將photo 縮放或則擴大到
                show.setImageBitmap(tempBitmap);

   

//        btn = (Button)findViewById(R.id.button);
//        btn.setOnClickListener(new View.OnClickListener(){
//            @Override
//            public void onClick(View v){
//                Bitmap photo = BitmapFactory.decodeResource(getResources(), R.drawable.img);
//                Bitmap tempBitmap = photo.copy(Bitmap.Config.ARGB_8888, true);
//                Canvas canvas = new Canvas(tempBitmap);
//
//                //影象上畫矩形
//                Paint paint = new Paint();
//                paint.setColor(Color.RED);
//                paint.setStyle(Paint.Style.STROKE);//不填充
//                paint.setStrokeWidth(10);  //線的寬度
//                canvas.drawRect(10, 20, 100, 100, paint);
//                show.setImageBitmap(tempBitmap);
//
//                //畫中畫
//                Paint photoPaint = new Paint(); // 建立畫筆
//                photoPaint.setDither(true); // 獲取跟清晰的影象取樣
//                photoPaint.setFilterBitmap(true);// 過濾一些
//
//                Rect src = new Rect(0, 0, photo.getWidth(), photo.getHeight());// 建立一個指定的新矩形的座標
//                Rect dst = new Rect(0, 0, 100, 150);// 建立一個指定的新矩形的座標
//                canvas.drawBitmap(tempBitmap, src, dst, photoPaint);// 將photo 縮放或則擴大到
//                show.setImageBitmap(tempBitmap);
//            }
//        });