zoukankan      html  css  js  c++  java
  • Android 实现图片反转

    可能有些同学不明白,为啥要图片反转(不是旋转哦),游戏我们在游戏开发中,为了节省图片资源(空间), 有可能会使用到图片反转,例如,一个人物图片,面向左,或右,如果不能实现图片反转的情况下,就需要两张图片了,这样就会占用资源很多,不多说了还是上代码来看看吧。

    public class ImageSurfaceView extends SurfaceView implements SurfaceHolder.Callback{
    
    public Bitmap image_bitmap;
    
    public ImageSurfaceView(Context context) {
    super(context);
    //添加回调
    SurfaceHolder holder=this.getHolder();
    holder.addCallback(this);
    
    initBitmap(context);
    }
    
    public void initBitmap(Context context){
    Resources r=context.getResources();
    image_bitmap=BitmapFactory.decodeResource(r,R.drawable.ima);
    }
    
    //界面渲染
    public void onDraw(Canvas canvas){
    canvas.drawBitmap(image_bitmap,0,0, null); //输出第一张图片
    //初始化Matrix 该类是针对图形做一些效果的工具类
    Matrix m=new Matrix();
    m.setScale(-1,1);
    m.postTranslate(image_bitmap.getWidth()*2,0); //向右平移两个图片宽度的位置
    canvas.drawBitmap(image_bitmap, m, paint); //输出第二张图片
    }
    
    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
    }
    
    @Override
    public void surfaceCreated(SurfaceHolder holder) {
    Canvas canvas=holder.lockCanvas(); //调用渲染界面的方法 渲染出界面
    onDraw(canvas);
    holder.unlockCanvasAndPost(canvas);
    }
    
    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
    
    // TODO Auto-generated method stub
    
    }
    }
  • 相关阅读:
    springmvc 之 url映射restful 及 ant
    springmvc 之 处理方法的返回值类型
    springmvc 之 数据处理
    springmvc 之 使用注解开发springmvc
    springmvc 之 配置及流程
    springmvc 之 springmvc简介,开发步骤
    mybatis 之 mybatis整合spring
    mybatis 之 mybatis缓存
    mybatis 之 mybatis的映射
    SuperMap iClient3D for WebGL教程 水面特效制作
  • 原文地址:https://www.cnblogs.com/vus520/p/2561878.html
Copyright © 2011-2022 走看看