【Android】在图片上画其他内容的方法
2016-07-03 14:42
639 查看
步骤如下:
1。创建一个位图对象,即得到想要在上面画字的图片
2。给画布对象设置第一步得到的位图。
3。在画布上绘制内容,比如:字,各种形状,位图等等,此时在画布上绘图,相当于在位图上画。
4。现在的位图对象就是上面有新内容的位图对象。随便你怎么操作了(保存,显示都可以)。
博主写个例子,从文件生成得到一个位图对象,并且在上面绘制文字,最后再用ImageView显示Bitmap的绘制结果。
效果图:
1。创建一个位图对象,即得到想要在上面画字的图片
2。给画布对象设置第一步得到的位图。
3。在画布上绘制内容,比如:字,各种形状,位图等等,此时在画布上绘图,相当于在位图上画。
4。现在的位图对象就是上面有新内容的位图对象。随便你怎么操作了(保存,显示都可以)。
博主写个例子,从文件生成得到一个位图对象,并且在上面绘制文字,最后再用ImageView显示Bitmap的绘制结果。
package com.luoye.print2bmp; import android.app.*; import android.os.*; import android.view.*; import android.widget.*; import android.graphics.*; public class MainActivity extends Activity { /** Called when the activity is first created. */ private ImageView iv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); iv=(ImageView)findViewById(R.id.iv); Bitmap bitmap=BitmapFactory.decodeFile("/sdcard/pic.jpg") .copy(Bitmap.Config.ARGB_8888, true);//从文件得到一个位图对象。要调用copy函数重新生成位图,不然会报错 /*Bitmap bitmap=Bitmap.createBitmap(800,600,Bitmap.Config.ARGB_8888);*/ Canvas canvas=new Canvas(bitmap);//创建一个空画布,并给画布设置位图 Paint p=new Paint(); p.setColor(0xffff0000);//设置画笔颜色 p.setAntiAlias(true);//抗锯齿 p.setTextSize(25);//设置字体大小 canvas.drawText("这是写上去的字",10,20,p);//在画布上绘制文字,即在位图上绘制文字 iv.setImageBitmap(bitmap);//给ImageView设置新的图片 } }
效果图:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories