这个博文,是在上一篇的基础上修改而成,这次是控制图片左右移动,上下移动类似就不在写了
package com.yuanlp.testp_w_picpath;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView iv;
private int dx=0; //左移的距离
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
iv = (ImageView) findViewById(R.id.iv);
}
public void turnBig(View view){
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);
Matrix matrix=new Matrix();
matrix.setScale(2,2); //放大四倍,水平方向2倍,竖直方向2倍
//买一张纸
Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth() * 2, bitmap.getHeight() * 2, bitmap.getConfig());
//买个画板
Canvas canvas = new Canvas(bitmap1);
//临摹会话
Paint paint = new Paint();
paint.setColor(Color.BLACK);
canvas.drawBitmap(bitmap,matrix,paint);
//传入新纸
iv.setImageBitmap(bitmap1);
}
public void turnSmall(View view){
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);
Matrix matrix=new Matrix();
matrix.setScale(0.5f,0.5f);
//买个纸
Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth() / 2, bitmap.getHeight() / 2, bitmap.getConfig());
//买个画板
Canvas canvas=new Canvas(bitmap1);
Paint paint=new Paint();
paint.setColor(Color.BLACK);
canvas.drawBitmap(bitmap,matrix,paint);
iv.setImageBitmap(bitmap1);
}
public void turnLeft(View view){
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);
dx--; //每次点击,向左移动
Matrix matrix=new Matrix();
matrix.setTranslate(dx,0); //竖直方向不移动,只有左边移动
//买个纸
Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
//买个画板
Canvas canvas=new Canvas(bitmap1);
Paint paint=new Paint();
canvas.drawColor(Color.WHITE);
paint.setColor(Color.BLACK);
canvas.drawBitmap(bitmap,matrix,paint);
iv.setImageBitmap(bitmap1);
}
public void turnRight(View view){
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meinv);
dx++; //每次点击,向左移动
Matrix matrix=new Matrix();
matrix.setTranslate(dx,0); //竖直方向不移动,只有左边移动
//买个纸
Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
//买个画板
Canvas canvas=new Canvas(bitmap1);
Paint paint=new Paint();
canvas.drawColor(Color.WHITE);
paint.setColor(Color.BLACK);
canvas.drawBitmap(bitmap,matrix,paint);
iv.setImageBitmap(bitmap1);
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。