Android 保存画图

简介:

 

原文:http://blog.csdn.net/lessu/archive/2010/04/28/5539748.aspx

 

很多人在做画图软件的时候找不到保存画好图片的方法。。

其实可以在bitmap上面画,然后保存bitmap就可以了,而不需要找屏幕截图的函数了。。。

package com.android.DrawTest; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Bitmap.Config; import android.os.Bundle; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.Window; import android.view.WindowManager; public class DrawTest extends Activity { private DrawView dv; private Bitmap myBitmap; Canvas canvas; //用于在Bitmap上面画图 private File file; private FileOutputStream out; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); dv=(DrawView)findViewById(R.id.DrawView); myBitmap=Bitmap.createBitmap(400, 400, Config.ARGB_8888); canvas=new Canvas(myBitmap); canvas.drawColor(Color.WHITE); file =new File("//sdcard//","Test.jpg");//输出路径 try { out=new FileOutputStream(file);//设置输出流 } catch (FileNotFoundException e) { e.printStackTrace(); } } @Override public boolean onTouchEvent(MotionEvent me){ Paint paint; paint=new Paint(); paint.setColor(Color.RED); switch(me.getAction()) { case MotionEvent.ACTION_DOWN: //画点 canvas.drawCircle(me.getX(), me.getY(), 10, paint); dv.Draw(myBitmap); break; } return false; } @Override public void onDestroy(){ try { //退出时保存 myBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } super.onDestroy(); } } 

 

 

 

surfaceview

package com.android.DrawTest; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.util.AttributeSet; import android.view.SurfaceHolder; import android.view.SurfaceView; public class DrawView extends SurfaceView implements SurfaceHolder.Callback{ private SurfaceHolder mSurfaceHolder; private Context mContext; public DrawView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub mSurfaceHolder=getHolder(); mContext=context; } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub } @Override public void surfaceCreated(SurfaceHolder holder) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub } public void Draw(Bitmap bitmap){ Canvas c=mSurfaceHolder.lockCanvas(); c.drawBitmap(bitmap, 0,0, null); mSurfaceHolder.unlockCanvasAndPost(c); } }  

 

 

 

相关文章
|
Android开发 数据格式 XML
Android学习之保存用户登录信息
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/50206887 ...
1629 0
|
缓存 JSON 数据库
Android 天气APP(二十九)壁纸设置、图片查看、图片保存
Android 天气APP(二十九)壁纸设置、图片查看、图片保存
170 0
Android 天气APP(二十九)壁纸设置、图片查看、图片保存
|
存储 缓存 Android开发
Android EditText输入框实现下拉且保存最近5个历史记录
Android EditText输入框实现下拉且保存最近5个历史记录
391 0
Android EditText输入框实现下拉且保存最近5个历史记录
|
文件存储 Android开发 数据安全/隐私保护
Android图片添加水印图片并把图片保存到文件存储
Android图片添加水印图片并把图片保存到文件存储 package zhangphil.test; import android.
1460 0
|
Android开发 C++
【Android 逆向】函数拦截实例 ( ② 插桩操作 | 保存实际函数入口 6 字节数据 | 在插桩的函数入口写入跳转指令 | 构造拼接桩函数 )
【Android 逆向】函数拦截实例 ( ② 插桩操作 | 保存实际函数入口 6 字节数据 | 在插桩的函数入口写入跳转指令 | 构造拼接桩函数 )
137 0
|
消息中间件 存储 算法
【Android 异步操作】手写 Handler ( 消息队列 MessageQueue | 消息保存到链表 | 从链表中获取消息 )
【Android 异步操作】手写 Handler ( 消息队列 MessageQueue | 消息保存到链表 | 从链表中获取消息 )
213 0
|
缓存 Android开发
android 实现 搜索保存历史记录功能
android 实现 搜索保存历史记录功能
android 实现 搜索保存历史记录功能
|
存储 Android开发
【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存(一)
【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存(一)
615 0
|
存储 Java 开发工具
【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存(二)
【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存(二)
511 0
【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存(二)
|
存储 Java Android开发
Android保存多张图片到本地
目录介绍 01.实际开发保存图片遇到的问题 02.直接用http请求图片并保存本地 03.用glide下载图片保存本地 04.如何实现连续保存多张图片 05.关于其他介绍 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等.
1281 0