[1]旋转 
   

public class MainActivity extends Activity {

    private float degrees;// 图片旋转的角度
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //[1]找到我们关心的控件
ImageView iv_src = (ImageView) findViewById(R.id.iv_src);
final ImageView iv_copy = (ImageView) findViewById(R.id.iv_copy); //[2] 把tomcat.png 转换成bitmap 然后显示到iv_src
final Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.tomcat); //[2.1 test] 修改原图 原图不可以被修改
//srcBitmap.setPixel(20, 30, Color.RED); iv_src.setImageBitmap(srcBitmap); new Thread(){public void run() { for (int i = 0; i < 100; i++) { degrees += 5; //[3]拷贝原图 //[3.1]创建模板
final Bitmap copybitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig());
//[3.2]想作画 需要一个画布 以copybitmap为模板
Canvas canvas = new Canvas(copybitmap);
//[3.3]创建一个画笔
Paint paint = new Paint();
//[3.4]开始作画 srcBitmap参考原图去画
Matrix matrix = new Matrix(); //[3.5]对图片进行旋转
matrix.setRotate(degrees, srcBitmap.getWidth()/2, srcBitmap.getHeight()/2);
canvas.drawBitmap(srcBitmap,matrix, paint); //☆ 注意不能在子线程更新ui
runOnUiThread(new Runnable() {
public void run() {
//这个方法里面的逻辑一定是在主线程执行
//[4]把copybitmap显示到iv_copy上
iv_copy.setImageBitmap(copybitmap); }
}); SystemClock.sleep(1000); } };}.start(); } }

  [2]缩放
    matrix.setScale(0.5f, 0.5f);

  [3]位移 
   matrix.setTranslate(20, 0);  
 
[4]倒影效果
// [3.5]对图片缩放处理
matrix.setScale(1.0f, -1.0f);
//让图片进行移动
//matrix.setTranslate(0, srcBitmap.getHeight());
//post是在上一次修改的基础上进行修改 set每次每次都是新的变化 会覆盖上一次修改
matrix.postTranslate(0, srcBitmap.getHeight());

 [5]镜面效果

        //[3.6]镜面效果
matrix.setScale(-1.0f, 1.0f);
matrix.postTranslate(srcBitmap.getWidth(), 0);
 

图形处理的api的更多相关文章

  1. PaaS 调研:GAE与 AWS(上)

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:韩伟 起因 PaaS作为"云"的概念,已经流行了很久.从使用的角度上看,似乎就是:写一个PHP,然后可以直接传到服务 ...

  2. day10 多媒体(文字 图片 音频 视频)

    1计算机表示图形的几种方式     bmp:以高质量保存     用于计算机     jpg:以良好的质量保存    用于计算机或者网络     png:以高质量保存     图片大小的计算公式:图片 ...

  3. iOS 图形处理 Core Graphics Quartz2D 教程

    Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的 绘图.变换.颜色管理.脱屏 ...

  4. 【转】OPENGL基本API概述

    本文信息资源来源于网络,欢迎转载!转载时请保留本文链接(http://www.shopliyang.com.cn/)! OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核 ...

  5. Java—图形处理

    抽象窗口化工具(AWT)为图形用户界面编程提供API编程接口,使得Java可以提供较好的图形用户界面. AWT把图形处理分为两个层次:一是处理原始图形,这一层较原始,图形直接以点.线和面的形式画到界面 ...

  6. DirectX API 编程起步 #02 窗口的诞生

    在这篇文章里我们先用 windows API 制作一个窗口出来,以后再用 DirectX API 渲染的东西就会显示在这里,控制台那黑白的画面肯定是没法用的. 每次的代码都会更新到Github 首先贴 ...

  7. 【OpenGL游戏开发之二】OpenGL常用API

    OpenGL常用API 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数.它采用C语言风格,提供大量的函数来进行图形的处理和显示.OpenGL库函数的命名方式非常有规律.所有OpenGL ...

  8. canvas图形处理和进阶用法

    前面的话 上一篇博客介绍了canvas基础用法,本文将更进一步,介绍canvas的图形处理和进阶用法 图形变换 图形变换是指用数学方法调整所绘形状的物理属性,其实质是坐标变形.所有的变换都依赖于后台的 ...

  9. Android API 指南

    原文链接:http://android.eoe.cn/topic/android_sdk Android API 指南 - Android API Guides 应用的组成部分 - Applicati ...

随机推荐

  1. ACM第二站————归并排序

    转载请注明出处,谢谢!http://www.cnblogs.com/Asimple/p/5459664.html 归并排序————二分的思想 以中间的数为基准,每次排序都将比其小[升序排](大[降序排 ...

  2. c#播放器

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. andriod 新建Activity_ Form

    在一个Android工程,如何新建一个Activity? 一:新建一个类(*.class),继承自android.app.Activity类. 二:在res/layout目录下新建一个布局xml文件, ...

  4. Alice and Bob(贪心HDU 4268)

    Alice and Bob Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...

  5. Semi-prime H-numbers(筛法)

    Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8069 Accepted: 3479 ...

  6. Unity脚本在层级面板中的执行顺序测试2

    上一篇测试了生成顺序对执行顺序的影响,链接:LINK 执行顺序测试3: LINK 这篇主要测试一下Awake,OnEnable,Start三个常用消息的循环顺序 1.测试消息循环顺序 先上一个最简单的 ...

  7. Animator根骨骼运动原始实现代码

    实测过确实可行,注意如果没有刚体组件,实现方式会不一样 public class TestSMB : StateMachineBehaviour { public override void OnSt ...

  8. SQL锁行 解决多台服务器发送统一请求并发问题

    锁行信息SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 存储过程:SET Transaction Isolation Level Read语法的四种情 ...

  9. json-lib date对象转json ,加入自定义日期格式处理

    import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValu ...

  10. eclipse字体推荐

    首先大家可以看看这里面推荐的最佳十款字体,http://www.iteye.com/news/11102-10-great-programming-font 但是经过测试发现,排名第一的字体在ecli ...