复制图片:
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 大图片拖拽并缩放实现原理
  4. android 使用百度地图画轨迹
  5. android 使用百度地图画轨迹
  6. android获取存储卡使用情况
  7. Android(安卓)7.0 读写权限
  8. Android检索图像
  9. Android中V4包下的Fragment使用

随机推荐

  1. Android(安卓)root 原理
  2. 又议android中的manifest清单文件
  3. 关于Android中工作者线程的思考
  4. Android(安卓)版本适配6.0到9.0
  5. 認識 高煥堂老師
  6. Handler android~~
  7. Android(安卓)获取应用的安装时间及更新
  8. 对Android(安卓)canvas的一点粗浅理解
  9. Android(安卓)动态权限申请之 shouldShow
  10. Android之——获取手机安装的应用程序