缩放图片 : matrix.setScale(0.5f,0.5f);
16lz
2021-01-26
public class MainActivity extends Activity implements OnClickListener {
private Button bt ; private ImageView iv ; private ImageView iv_after ; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. activity_main ); iv =(ImageView) findViewById(R.id. iv ); bt =(Button) findViewById(R.id. bt ); iv_after =(ImageView) findViewById(R.id. iv_after ); bt .setOnClickListener( this ); }
/** * 获取图片的方法 * @param v */ @Override public void onClick(View v) { //创建隐式意图 Intent intent= new Intent(); intent.setAction( "android.intent.action.PICK" ); intent.addCategory(intent. CATEGORY_DEFAULT ); intent.setType( "image/*" ); startActivityForResult(intent, 0); } /** * 获取Activity返回的数据 */ @Override protected void onActivityResult( int requestCode, int resultCode, Intent data) { super .onActivityResult(requestCode, resultCode, data); Uri uri = data.getData(); //接收到返回照片的 uri iv .setImageURI(uri); try { //得到原图的bitmap 只读(要从这个bitmap读取像素点到其他的空白bitmap上) Bitmap bitmap=BitmapFactory.decodeStream(getContentResolver().openInputStream(uri)); //创建一个空白可修改的bitmap b1 Bitmap alertBitmap=Bitmap.createBitmap(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getConfig()); //将空白可修改的bitmap作为画布 b2 Canvas canvas= new Canvas(alertBitmap); //创建画笔 Paint paint= new Paint(); paint.setColor(Color. GREEN ); //在画布上画原图片的像素点 Matrix matrix = new Matrix(); matrix.setScale(0.5f,0.5f); //设置x,y方向的缩放比 canvas.drawBitmap(bitmap, matrix, paint); //1.原图 2.矩阵 3.画笔 //将画好的b2挂在iv上 iv_after .setImageBitmap(alertBitmap); } catch (Exception e) { e.printStackTrace(); } }
}
private Button bt ; private ImageView iv ; private ImageView iv_after ; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. activity_main ); iv =(ImageView) findViewById(R.id. iv ); bt =(Button) findViewById(R.id. bt ); iv_after =(ImageView) findViewById(R.id. iv_after ); bt .setOnClickListener( this ); }
/** * 获取图片的方法 * @param v */ @Override public void onClick(View v) { //创建隐式意图 Intent intent= new Intent(); intent.setAction( "android.intent.action.PICK" ); intent.addCategory(intent. CATEGORY_DEFAULT ); intent.setType( "image/*" ); startActivityForResult(intent, 0); } /** * 获取Activity返回的数据 */ @Override protected void onActivityResult( int requestCode, int resultCode, Intent data) { super .onActivityResult(requestCode, resultCode, data); Uri uri = data.getData(); //接收到返回照片的 uri iv .setImageURI(uri); try { //得到原图的bitmap 只读(要从这个bitmap读取像素点到其他的空白bitmap上) Bitmap bitmap=BitmapFactory.decodeStream(getContentResolver().openInputStream(uri)); //创建一个空白可修改的bitmap b1 Bitmap alertBitmap=Bitmap.createBitmap(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getConfig()); //将空白可修改的bitmap作为画布 b2 Canvas canvas= new Canvas(alertBitmap); //创建画笔 Paint paint= new Paint(); paint.setColor(Color. GREEN ); //在画布上画原图片的像素点 Matrix matrix = new Matrix(); matrix.setScale(0.5f,0.5f); //设置x,y方向的缩放比 canvas.drawBitmap(bitmap, matrix, paint); //1.原图 2.矩阵 3.画笔 //将画好的b2挂在iv上 iv_after .setImageBitmap(alertBitmap); } catch (Exception e) { e.printStackTrace(); } }
}
更多相关文章
- Android中Cannot draw recycled bitmaps
- 水波纹效果---3环波纹
- android学习--画圆角图
- Canvas基础知识
- 仿迅雷下载球
- Android字体大小设置自适应屏幕分辨率
- Android中View,SurfaceView和GLSurfaceView绘图的区别
- 【Android】View类详解 (游戏开发必备)
- PhoneGap是什么?