复制图片:
package com.example.photocopy;import android.annotation.SuppressLint;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.BitmapFactory.Options;import android.graphics.Point;import android.os.Bundle;import android.view.View;import android.view.WindowManager;import android.widget.ImageView;public class MainActivity extends Activity {private ImageView im1,im2;private Bitmap srcbitmap;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        im1=(ImageView) findViewById(R.id.image1);        im2=(ImageView) findViewById(R.id.image2);    }    @SuppressLint("NewApi")   public void click(View view){  BitmapFactory.Options op=new Options();   op.inJustDecodeBounds=true;   Bitmap bp=BitmapFactory.decodeResource(getResources(), R.drawable.icon,op);   //获取图片大小,按照一定比例缩放   int photoWidth=op.outWidth;   int photoHeight=op.outHeight;   //获取窗口管理类   WindowManager ma=getWindowManager();  Point point=new Point();   //接收显示屏幕宽高ma.getDefaultDisplay().getSize(point);int screenWidth=point.x;int screenHeight=point.y;//求出比例float dy=photoHeight/screenHeight;float dx=photoWidth/screenWidth;float scale=(float) 1.0;if(dy>dx&&dy>1){//按照垂直缩放scale=dy;}if(dx>dy&&dx>1){//按照水平缩放scale=dx;}op.inSampleSize = (int) scale;op.inJustDecodeBounds=false;srcbitmap=BitmapFactory.decodeResource(getResources(), R.drawable.icon, op);  im2.setImageBitmap(srcbitmap);  }}

图片复制,放大

package com.example.photocopy;import android.app.Activity;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.view.View;import android.widget.ImageView;public class SecondActivity extends Activity {private ImageView im1,im2;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);im1=(ImageView) findViewById(R.id.im2);im1.setImageResource(R.drawable.ic_launcher);im2=(ImageView) findViewById(R.id.im3);}public void click(View view){//获取原图Bitmap srcbitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);//创建可修改的副本Bitmap alterbitmap=Bitmap.createBitmap(srcbitmap.getWidth(),srcbitmap.getHeight(), srcbitmap.getConfig());//创建画布Canvas canvas=new Canvas(alterbitmap);//创建画笔Paint paint=new Paint();//设置图片矩阵Matrix matrix=new Matrix();matrix.setScale(1.0f, 1.0f);//paint.setColor(color);//画画canvas.drawBitmap(srcbitmap, matrix, paint);im2.setImageBitmap(alterbitmap);}}


更多相关文章

  1. android图片异步加载解决步骤
  2. android 大图片拖拽并缩放实现原理
  3. Android 原始下载图片 通过HTTp
  4. Android:下载网络图片
  5. android ScrollView 多张图片之间有空白
  6. android从网上下载图片
  7. Android图片上传工具类
  8. android:编写属性动画程序(旋转,缩放,淡出淡入)

随机推荐

  1. 对比Appium和Calabash
  2. Android导入工程提示Invalid project des
  3. Android(安卓)Room 增删改查 个人经验
  4. Android(安卓)webkit 事件传递流程通道分
  5. android 分支 详解
  6. 动态添加权限
  7. android中的 touch事件
  8. Android(安卓)RecyclerView DiffUtil 局
  9. 2017 年你应该了解的Android(安卓)库
  10. Android数据存储简介