您的位置:首页 > 移动开发 > Android开发

Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

2017-11-15 20:54 591 查看
[cpp] view
plain copy

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);  


   


[cpp] view
plain copy

//        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);  

//            }  

//        });  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐