Bitmap的简单特效处理
2016-04-17 17:56
417 查看
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //这个对象是只读的 Bitmap bmSrc = BitmapFactory.decodeFile("sdcard/photo3.jpg"); //创建图片副本 //1.在内存中创建一个与原图一模一样大小的bitmap对象,创建与原图大小一致的白纸 Bitmap bmCopy = Bitmap.createBitmap(bmSrc.getWidth(), bmSrc.getHeight(), bmSrc.getConfig()); //2.创建画笔对象 Paint paint = new Paint(); //3.创建画板对象,把白纸铺在画板上 Canvas canvas = new Canvas(bmCopy); //4.开始作画,把原图的内容绘制在白纸上 Matrix mt = new Matrix(); //平移 // mt.setTranslate(20, 40); //缩放 //sx:水平方向的缩放比例 //sy:竖直方向的缩放比例 // mt.setScale(0.5f, 0.5f); // mt.setScale(0.5f, 0.5f, bmCopy.getWidth() / 2, bmCopy.getHeight() / 2); //旋转 // mt.setRotate(45, bmCopy.getWidth() / 2, bmCopy.getHeight() / 2); //镜面 // mt.setScale(-1, 1); // mt.postTranslate(bmCopy.getWidth(), 0); //倒影 mt.setScale(1, -1); mt.postTranslate(0, bmCopy.getHeight()); canvas.drawBitmap(bmSrc, mt, paint); ImageView iv_src = (ImageView) findViewById(R.id.iv_src); ImageView iv_copy = (ImageView) findViewById(R.id.iv_copy); iv_src.setImageBitmap(bmSrc); iv_copy.setImageBitmap(bmCopy); } }
相关文章推荐
- 使用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