public void drawRegion1(Image img, int x_src, int y_src, int width,
int height, int transform, int x_dest, int y_dest, int anchor) {
canvas.save();
int ix = 0, iy = 0;
switch (transform) {
case TRANS_NONE: // 0
break;
case TRANS_ROT90: // 90
canvas.rotate(90, x_dest, y_dest);
iy = height;
break;
case TRANS_ROT180: // 180
canvas.rotate(180, x_dest, y_dest);
iy = height;
ix = width;
break;
case TRANS_ROT270: // 270
canvas.rotate(270, x_dest, y_dest);
ix = width;
break;
case TRANS_MIRROR: // M
canvas.scale(-1, 1, x_dest, y_dest);// 镜像
ix = width;
break;
case TRANS_MIRROR_ROT90: // M90 j2me<-->android 270
canvas.scale(-1, 1, x_dest, y_dest);// 镜像
canvas.rotate(270, x_dest, y_dest);
ix = width;
iy = height;
break;
case TRANS_MIRROR_ROT180: // M180
canvas.scale(-1, 1, x_dest, y_dest);// 镜像
canvas.rotate(180, x_dest, y_dest);
iy = height;
break;
case TRANS_MIRROR_ROT270: // M270 j2me<-->android 90
canvas.scale(-1, 1, x_dest, y_dest);// 镜像90
canvas.rotate(90, x_dest, y_dest);
break;
}
canvas.clipRect(x_dest - ix, y_dest - iy, x_dest - ix + width, y_dest
- iy + height);
canvas.drawBitmap(img.getBitmap(), x_dest - ix - x_src, y_dest - iy - y_src,
paint);
canvas.restore();

}

protected Rect srcRec = new Rect();
protected RectF dstRec = new RectF();

public void drawRegion2(Image src, int x_src, int y_src, int width,
int height, int transform, int x_dest, int y_dest, int anchor) {
// TODO deal with parameter transform
srcRec.left = x_src;
srcRec.top = y_src;
srcRec.right = srcRec.left + width;
srcRec.bottom = srcRec.top + height;
dstRec.left = x_dest;
dstRec.top = y_dest;
dstRec.right = dstRec.left + width;
dstRec.bottom = dstRec.top + height;
this.canvas.drawBitmap(src.getBitmap(), srcRec, dstRec, paint);
}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 【Android】UI设计之界面布局
  2. 单击事件(onClick())与触摸事件(onTouch())的
  3. 自定义区间滑动取值控件
  4. android 蓝牙ACL通讯详解
  5. android Ndk学习笔记01之Hello World!
  6. Android艺术探索读书笔记 -IPC机制
  7. Android一键加群实现
  8. android studio打包签名错误please selec
  9. Android再按一次完全退出程序及禁止返回
  10. Android(安卓)MTP框架和流程分析