canvas教程

Android实现图片反转

字号+ 作者:H5之家 来源:H5之家 2017-07-28 15:04 我要评论( )

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

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

  }
  }

 

提示:支持键盘“← →”键翻页 阅读全文

Android开发实例 简单拨打电话
Android开发中是否连上网络检测方法
Android开发教程 录制多媒体实例
Android开发教程 传感器实例

相关推荐

评论

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 提高canvas性能技巧

    提高canvas性能技巧

    2017-07-02 14:00

  • canvas游戏开发学习之七:变形

    canvas游戏开发学习之七:变形

    2017-05-29 08:00

  • html5canvas核心技术图形、动画与游戏开发源码

    html5canvas核心技术图形、动画与游戏开发源码

    2017-05-02 17:42

  • canvas游戏开发学习之四:应用图像

    canvas游戏开发学习之四:应用图像

    2017-04-29 16:00

网友点评
n