简易画图

    private ImageView iv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        iv = (ImageView) findViewById(R.id.iv);
        final Bitmap bitmap = BitmapFactory.decodeFile("/storage/sdcard/blank_500_500.png");
        //只能在副本图片上修改
        final Bitmap copyBitmap = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),bitmap.getConfig());
        final Canvas canvas = new Canvas(copyBitmap);
        final Paint paint = new Paint();
        paint.setColor(Color.RED);
        //线的宽度
        paint.setStrokeWidth(6);
        if (bitmap != null) {
            iv.setImageBitmap(copyBitmap);
        }
        iv.setOnTouchListener(new View.OnTouchListener() {
            int startX = 0;
            int startY = 0;
            int endX = 0;
            int endY = 0;
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();
                switch (action) {
                    case MotionEvent.ACTION_DOWN:
                        startX = (int) event.getX();
                        startY = (int) event.getY();
                    case MotionEvent.ACTION_UP:
                        break;
                    case MotionEvent.ACTION_MOVE:
                        endX = (int) event.getX();
                        endY = (int) event.getY();
                        canvas.drawLine(startX,startY,endX,endY,paint);
                        startX = endX;
                        startY = endY;
                        iv.setImageBitmap(copyBitmap);
                }
                return true;//true
            }
        });
    }

SD卡权限

时间: 2024-11-06 21:17:58

简易画图的相关文章

MATLAB简易画图2—普通直角坐标系

本人的MATLAB版本为: 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 继续在"MATLAB简易画图"这篇随笔的基础上进行延伸,做成普通直角坐标系. 1.源程序 score.m cj_x1=[0 0.1]; cj_y1=[1 0]; cj_x2=[0 0.1 0.33 0.43]; cj_y2=[0 1 1 0]; cj_x3=[0.33 0.43 0.66 0.76]; cj_y3=[0 1 1 0]; plot(cj_x1,cj_

[iOS UI进阶 - 4.0] 涂鸦app Demo

A.需求 1.超简易画图,只有一种画笔 2.清屏功能 3.回退功能 4.保存功能 5.使用了cocos2D code source: https://github.com/hellovoidworld/PaintDemo B.实现方法1 1.基本界面 (1)3个按钮:清屏.回退.保存 (2)绘图view 2.画线 (1)使用数组存储绘图点:存储一条线的数组.存储所有线的总数组 (2)在touch的开始.拖曳.结束记录触摸位置,触发重绘 3.清屏 删除总数组 4.回退 删除最后画的一条线:删除相应

R语言小例子---简易的数据分析和画图

目前有10名儿童(男)的年龄和身高的数据(虚构数据),感兴趣的是升高的分布及体重和年龄的关系. 年龄(岁) 体重(kg) 年龄(岁) 体重(kg) 4 95 6 116 4 97 7 120 5 106 7 121 5 108 8 126 6 114 8 125 使用函数c()以向量的形式输入儿童的年龄和身高数据.然后,使用一些内置的函数获得身高的均值和标准差,以及年龄和体重的相关度. > age <- c(4,4,5,5,6,6,7,7,8,8) > height <- c(95

【Matlab编程】matlab 画图

1.  不用截图工具就可以将图保存成图像格式,并且没有背景颜色:saveas(gcf ,'outputname','png/jpg'),第三项省略时默认为fig.m文件 2.  计算形如(-1)^2/3,应该是默认先算(-1)^(1/3),plot的时候命令窗会警告略去了虚部, 为了避免不必要的麻烦((-1)^2)^1/3这样写,例子如下:这个是代码 clear clc subplot(1,2,1); ezplot('x^2+(y-(x^2)^(1/3))^2-1',[-2,2]); subpl

Java版简易画图板的实现

Windows的画图板相信很多人都用过,这次我们就来讲讲Java版本的简易画板的实现. 基本的思路是这样的:画板实现大致分三部分:一是画板界面的实现,二是画板的监听以及画图的实现,三是画板的重绘.(文章较长,但是代码是逐步递进的,可以按三部分分开来看,实现了当前部分再去看下一部分.)首先是画板的界面实现,因为我没有去找具体的图标,界面上的所有组件都是Swing的自带组件,所以界面略微有点简陋,不过如果想要优化也简单,把界面上的组件都改成自定义的图标即可.界面实现后,就可以考虑给界面的组件加上监听

简易二维码

一.什么是二维码 首先我们来了解一下,什么是二维码?百度百科上是这样解释的:二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集:

使用 Sublime + PlantUML 高效地画图

什么是 PlantUML PlantUML 是一个画图脚本语言,用它可以快速地画出: 时序图 流程图 用例图 状态图 组件图 简单地讲,我们使用 visio 画图时需要一个一个图去画,但使用 PlantUML 只需要用文字表达出图的内容,然后就可以直接生成图片.看一个最简单的例子: Bob -> Alice : Hello, how are you Alice -> Bob : Fine, thank you, and you? demo 软件安装 这些软件全部是开源或共享软件,不存在版权问题

用Java语言编写一个简易画板

讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目需要满足怎样的需求. 那么,画板需要满足怎样的需要呢?换句话说,在画板上,我们应该赋予它什么功能呢?从我们熟悉的画板来看,我们需要实现诸如铅笔.橡皮.喷枪.刷子的功能,我们可以画出一些规则的图形,比如直线.矩形.圆.最好我们还能调整画笔的颜色和粗细.以上,我们希望的是,当我们点击一个按钮的时候,我们

Android笔记二十九. 一款简易画图板开发

一款简易画图板开发 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.画图板原理 1.直线效果 画图板表面上看起来可以随用户在触摸屏上自由的绘制任意图形,但是实际上当用户在触摸屏上移动时,两次拖动事件发生点的距离很小,多条极短的直线连接起来我们肉眼看起来就是直接了.在触摸屏绘制图形时,每条直线都是从上一次拖动事件发生点画到本次拖动事件的发生点,可以借助于Android提供的Path类来实现.然后,如果程序每次都是从上次拖动事件的发生点绘一条