一。布局
二。主程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
public class MainActivity extends Activity { /** 图片控件 **/ private ImageView iv0, iv1, iv2, iv3; /** 源图片 **/ private Bitmap srcBmp; /** Bitmap对象,可修改的 **/ private Bitmap mutableBitmap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv0 = (ImageView) findViewById(R.id.iv0); iv1 = (ImageView) findViewById(R.id.iv1); iv2 = (ImageView) findViewById(R.id.iv2); iv3 = (ImageView) findViewById(R.id.iv3); // 给第一个imageview默认设置一个位图(路径,id:项目/res/drawable-hdpi里的图片) srcBmp = BitmapFactory.decodeResource(getResources(), R.drawable.adel); iv0.setImageBitmap(srcBmp); } /** * 创建原图 bm的一个拷贝。副本 */ public void click1(View view) { /** 创建原图的一个副本。 // createBitmap:Returns a mutable bitmap,可修改的空白位图。 // (宽,高,源数据)**/ mutableBitmap = Bitmap.createBitmap(srcBmp.getWidth(), srcBmp.getHeight(), srcBmp.getConfig()); /** 1.准备画板(可修改的 空白位图) **/ Canvas canvas = new Canvas(mutableBitmap); /** 2.准备画笔 **/ Paint paint = new Paint(); paint.setColor(Color.BLUE); /** 3.绘图 **/ // 1)矩阵。协调控制三维空间内的转换 android.graphics.Matrix m = new android.graphics.Matrix(); // 2)图片缩放比例 m.setScale(1.5f, 0.5f); // 3)绘制副本(源图片,缩放,画笔) canvas.drawBitmap(srcBmp, m, paint); /** 4.更新控件 **/ iv1.setImageBitmap(mutableBitmap);// 把原图的副本设置到界面上。 } /** * 创建原图 bm的一个拷贝。副本 */ public void click2(View view) { mutableBitmap = Bitmap.createBitmap(srcBmp.getWidth(), srcBmp.getHeight(), srcBmp.getConfig()); Canvas canvas = new Canvas(mutableBitmap); Paint paint = new Paint(); paint.setColor(Color.RED); android.graphics.Matrix m = new android.graphics.Matrix(); //m.setScale(2.5f, 2.5f); // 缩放设置方式1(宽,高) m.setValues(new float[]{ // 缩放设置方式2(矩阵{}) 1.2f, 0, 0, // x轴-水平缩放。y,z 0, 1.5f, 0, // x,y轴-垂直缩放,z 0, 0, 1 // x,y,z轴景深不相干 }); canvas.drawBitmap(srcBmp, m, paint); iv2.setImageBitmap(mutableBitmap); } /** * 图片旋转 -- 默认旋转点在图片左上角 --------------------------- **/ public void click3(View view) { mutableBitmap = Bitmap.createBitmap(srcBmp.getWidth() * 2, srcBmp.getHeight() * 2, srcBmp.getConfig()); Canvas canvas = new Canvas(mutableBitmap); Paint paint = new Paint(); paint.setColor(Color.RED); android.graphics.Matrix m = new android.graphics.Matrix(); // 旋转(顺时针角度,旋转点x,旋转点y) m.setRotate(180, srcBmp.getWidth()/2, srcBmp.getHeight()/2); canvas.drawBitmap(srcBmp, m, paint); iv3.setImageBitmap(mutableBitmap); } } |
声明
本文由崔维友 威格灵 cuiweiyou vigiles cuiweiyou 原创,转载请注明出处:http://www.gaohaiyan.com/347.html
承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设