美文网首页
Android - 绘画出圆并保存为图片

Android - 绘画出圆并保存为图片

作者: 杰奎琳子 | 来源:发表于2020-07-17 08:05 被阅读0次

效果图

在相应路径下,生成1.png的照片

1. 添加权限

保存图片需要添加读写权限

Android 6.0 - 申请动态权限

2. 新建MyView类并继承View

public class MyView extends View {

    public MyView(Context context) {

        super(context);

    }

    @Override

    protected void onDraw(Canvas canvas) {

        super.onDraw(canvas);

        Paint paint = new Paint();

        /*

        * Paint.Style.FILL设置只绘制图形内容

        * Paint.Style.STROKE设置只绘制图形的边

        * Paint.Style.FILL_AND_STROKE设置都绘制

        * */

        paint.setStyle(Paint.Style.FILL);

        paint.setColor(Color.BLACK); //设置画笔颜色为:黑色

        //paint.setStyle(Paint.Style.STROKE); //空心效果

        //paint.setStrokeWidth((float) 3.0); //线宽

        //paint.setAntiAlias(true); //设置抗锯齿

        //paint.setStrokeWidth(7); //设置笔触宽度

        /*

        * public static Bitmap createBitmap(int width, int height, Config config)

        * 参数一:宽

        * 参数一:高

        * 参数三: 图片格式

        *          Bitmap.Config :https://blog.csdn.net/dalancon/article/details/7851143?utm_source=blogxgwz6

        * */

        Bitmap bitmap = Bitmap.createBitmap(700,700, Bitmap.Config.ARGB_8888);

        //将图片指定区域,画到canvas的指定区域 (paint:一般填null)

        //drawBitmap :https://blog.csdn.net/lovexieyuan520/article/details/50725539

        canvas.drawBitmap(bitmap, 0, 0, null);

        /*

        * Canvas构造函数需要传入一个Bitmap,该bitmap是我们对canvas进行操作的载体,

        * 比如:调用canvas的drawLine方法画一条线,将会把线画到bitmap里去。

        * Canvas直接对该Bitmap对象进行修改,Bitmap保存我们的操作。

        * */

        canvas = new Canvas(bitmap);

        canvas.drawColor(Color.WHITE); //设置为白色背景

        /*

        * public void drawCircle(float cx, float cy, float radius,Paint paint)

        * 参数一:圆心的x坐标

        * 参数二:圆心的y坐标

        * 参数三:圆的半径

        * 参数四:绘制时所使用的画笔

        * */

        canvas.drawCircle(150,150,100,paint); //绘制黑色圆

        canvas.save(); //保存

        canvas.restore(); // 存储

        //存储地址

        File file = new File("/storage/emulated/0/1/");

        if(!file.exists()){

            //如果不存在:根据File里的路径名建立文件夹

            file.mkdirs();

        }else {

            try {

                FileOutputStream fos = new FileOutputStream(file.getPath() + "/1.png");

                //压缩图片 为百分之30

                bitmap.compress(Bitmap.CompressFormat.PNG, 30, fos);

                //清空缓冲区数据

                fos.flush();

                //关闭流

                fos.close();

                System.out.println("-------------save true------------");

            } catch (Exception e) {

                e.printStackTrace();

                System.out.println("-------------save flase------------");

            }

        }

    }

}

3. MainActivity.java

@Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        myView = new MyView(this);

        FrameLayout frameLayout = findViewById(R.id.forever);

        frameLayout.addView(myView);

    }

----------------布局(activity_main.xml)---------------

<FrameLayout

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/forever"/>

相关文章

  • Android - 绘画出圆并保存为图片

    效果图 在相应路径下,生成1.png的照片 1. 添加权限 保存图片需要添加读写权限 Android 6.0 - ...

  • 安卓截图笔记

    Android截屏 Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后...

  • Android截屏方案

    Android截屏 Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后...

  • 使用系统Intent裁剪图片

    说明 使用Android系统中的Intent来进行简单的图片裁剪,裁剪完成后的数据可以保存为完整图片文件,或者获得...

  • Android画布Canvas裁剪效果演示--RevealVie

    图片资源如下图,就是几张灰色和彩色图片 思路是利用画布canvas的裁剪,先画出灰色的图片,再画出彩色图片并对彩色...

  • cesium 保存图片、缩略图、鹰眼

    要保存cesium场景图片,很简单把cesium所在的canvas保存为一张图片并下载就行了。完全不用cesium...

  • Android实现头像上传

    Android实现本地上传图片并设置为圆形头像 Android实现类似换QQ头像功能(图片裁剪) android上...

  • Android开发截屏截图方法汇总(Activity、View、

    Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途...

  • Android截屏总结

    Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途...

  • android图像绘制——画布保存为图片

    解释: 1、首先创建一个Bitmap图片,并指定大小; 2、在该图片上创建一个新的画布Canvas,然后在画布上绘...

网友评论

      本文标题:Android - 绘画出圆并保存为图片

      本文链接:https://www.haomeiwen.com/subject/demxhktx.html