zoukankan      html  css  js  c++  java
  • 图像缩小和扩大

    postScale:设置图片的缩放

     

     

     

    package com.example.examples_05_09;

     

    import android.R.integer;

    import android.annotation.SuppressLint;

    import android.content.Context;

    import android.graphics.Bitmap;

    import android.graphics.Canvas;

    import android.graphics.Matrix;

    import android.graphics.drawable.BitmapDrawable;

    import android.view.View;

     

    @SuppressLint("DrawAllocation")

    public class GameView extends View implements Runnable {

     

    Bitmap QQBit;//位图

    int QQBitWidth=0;//宽度

    int QQBitHeight=0;//高度

    //实例化图像对象

    Matrix matrix=new Matrix();

    float sc=1.0f;//设置缩放

    public GameView(Context context) {

    super(context);

    // TODO Auto-generated constructor stub

    //获取图片

    QQBit=((BitmapDrawable)getResources().getDrawable(R.drawable.qq)).getBitmap();

    //获取高

    QQBitHeight=QQBit.getHeight();

    //获取宽

    QQBitWidth=QQBit.getWidth();

    new Thread(this).start();

     

    }

     

    public void run() {

    // TODO Auto-generated method stub

    while (!Thread.currentThread().isInterrupted()) {

    try {

    Thread.sleep(100);

    } catch (Exception e) {

    // TODO: handle exception

    Thread.currentThread().interrupt();

    }

    postInvalidate();

    }

    }

    public void onDraw(Canvas canvas) {

    super.onDraw(canvas);

    matrix.reset();

    //设置缩放大小

    matrix.postScale(sc, sc);

    //重新获得设置好的位图

    Bitmap bitmap=Bitmap.createBitmap(QQBit, 0, 0, QQBitWidth, QQBitHeight,matrix,true);

    //绘制

    GameView.drawImage(canvas, bitmap, (320-QQBitWidth)/2, 20);

     

    }

     

    //绘制

    public static void drawImage(Canvas canvas,Bitmap bitmap,int x,int y) {

    canvas.drawBitmap(bitmap, x, y, null);

    }

     

    }

     

     

    package com.example.examples_05_09;

     

    import android.os.Bundle;

    import android.app.Activity;

    import android.view.KeyEvent;

    import android.view.Menu;

     

    public class MainActivity extends Activity {

     

    GameView gameView;

        @Override

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            gameView=new GameView(this);

            setContentView(gameView);

        }

        public boolean onKeyDown(int keyCode,KeyEvent event) {

         if(keyCode==KeyEvent.KEYCODE_DPAD_LEFT)

         if(gameView.sc>0.3)

         {

         gameView.sc-=0.1;

         }

         else if (keyCode==KeyEvent.KEYCODE_DPAD_RIGHT) {

         if(gameView.sc<1.5)

         {

         gameView.sc+=0.1;

         }

    }

    return true;

    }

    }

  • 相关阅读:
    宝塔面板连接数据库失败
    fastadmin上线部署中遇到访问路径问题
    宝塔部署时,出现“open_basedir restriction in effect”错误
    layui hint:upload is not a valid module
    thinkphp--控制器怎么分配变量到公共模板
    jquey click事件无效
    1.31 SVN代码版本控制
    8.1 性能优化简介
    5.31 Nginx最全面知识
    4.115 Spring的事务管理
  • 原文地址:https://www.cnblogs.com/danmao/p/3808689.html
Copyright © 2011-2022 走看看