Android中简单的图形处理

来源:互联网 发布:红蜘蛛软件卸载不了 编辑:程序博客网 时间:2024/04/30 16:53

[0]首先得创建原图副本,才可以对图片进行处理,操作

[1]像素点修改
这里写图片描述

//[1]像素点修改操作for (int i = 0; i < 20; i++) {                             copy_bitmap.setPixel(20, 30 + i, Color.RED);}

[2]图片的旋转
这里写图片描述

//[2]图片旋转效果//以左上角为基点旋转                    //matrix.setRotate(20);               matrix.setRotate(20,src_bitmap.getWidth()/2,src_bitmap.getHeight()/2);

[3]图片的缩放
这里写图片描述

//[3]图片缩放matrix.setScale(0.5f,0.5f);

[4]图片的平移
这里写图片描述

//[4]对图片进行平移matrix.setTranslate(30,0);

[5]图片的镜面
这里写图片描述

 //[5]图片镜面效果(反向缩放+平移=镜面)matrix.setScale(-1.0f,1);//在上次修改的基础上修改需要使用postTranslatematrix.postTranslate(src_bitmap.getWidth(),0);

package jacky.copybitmap;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Matrix;import android.graphics.Paint;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;public class MainActivity extends AppCompatActivity {          @Override          protected void onCreate(Bundle savedInstanceState) {                    super.onCreate(savedInstanceState);                    setContentView(R.layout.activity_main);                    ImageView iv_src = (ImageView) findViewById(R.id.src_bitmap);                    ImageView iv_copy = (ImageView) findViewById(R.id.copy_bitmap);                    //显示原图                    Bitmap src_bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.waibozi);                    iv_src.setImageBitmap(src_bitmap);                    //创建原图副本                    //Bitmap copy_bitmap = Bitmap.createBitmap(src_bitmap);                    //先建立一个模板                    Bitmap copy_bitmap = Bitmap.createBitmap(src_bitmap.getWidth()+20, src_bitmap.getHeight()+20, src_bitmap.getConfig());                    //创建一个画笔                    Paint paint = new Paint();                    //把白纸铺到画布上                    Canvas canvas = new Canvas(copy_bitmap);                    //矩阵                    Matrix matrix = new Matrix();                    //修改副本图片                    //[1]像素点修改操作//                    for (int i = 0; i < 20; i++) {//                              copy_bitmap.setPixel(20, 30 + i, Color.RED);//                    }                    //[2]图片旋转效果                    //以左上角为基点旋转                    //matrix.setRotate(20);                    //matrix.setRotate(20,src_bitmap.getWidth()/2,src_bitmap.getHeight()/2);                    //[3]图片缩放                    //matrix.setScale(0.5f,0.5f);                    //[4]对图片进行平移                    matrix.setTranslate(30,0);                    //[5]图片镜面效果(反向缩放+平移=镜面)                    matrix.setScale(-1.0f,1);                    //在上次修改的基础上修改需要使用postTranslate                    matrix.postTranslate(src_bitmap.getWidth(),0);                    //开始作画                    canvas.drawBitmap(src_bitmap, matrix, paint);                    iv_copy.setImageBitmap(copy_bitmap);          }}
0 0
原创粉丝点击