旋转图片的几种方式笔记
来源:互联网 发布:飞翔的小鸟游戏源码 编辑:程序博客网 时间:2024/06/05 03:20
1.矩阵
private void init(Context context) { mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); //加载需要的图片 mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.black_line); bitmapDisplay = mBitmap; matrix = new Matrix(); //获取图片的宽高 mWidth = mBitmap.getWidth(); mHeight = mBitmap.getHeight();}
// 设置旋转比例public void setAngle(float fAngle) { matrix.setRotate(fAngle, mWidth / 2, mHeight / 2); invalidate();}
@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawBitmap(bitmapDisplay,matrix, mPaint);}
2.旋转canvas
@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); mBitmap = ((BitmapDrawable) mResources.getDrawable(R.drawable.black_line)).getBitmap(); mBitmapHeight = mBitmap.getHeight(); mBitmapWidth = mBitmap.getWidth(); int left = (screenWidth - mBitmapWidth) / 2; int top = (screenHeight - mBitmapHeight) / 2; mSrcRect = new Rect(0, 0, mBitmapWidth, mBitmapHeight); Log.d("----------", left + ":" + top); mDesRect = new Rect(0, 150, mBitmapWidth, 150+mBitmapHeight); canvas.rotate(mDegrees, mBitmapWidth / 2, 150+mBitmapHeight / 2); canvas.scale(mScale, mScale, mBitmapWidth / 2, 150+mBitmapHeight / 2); canvas.drawBitmap(mBitmap, mSrcRect, mDesRect, mBitPaint);}
0 0
- 旋转图片的几种方式笔记
- Asp.net 中旋转图片的几种方式
- 网页中图片旋转的几种实现方式
- 网页中图片旋转的几种实现方式
- 图片旋转(扫描,等待效果)的几种方式
- imageview旋转的几种方式
- 旋转物体的几种方式
- GDI+旋转图片的几种方法
- GDI+旋转图片的几种方法
- Android UI之ImageView旋转的几种方式
- iOS 旋转动画的几种实现方式
- android实现图片缩放 旋转的几种方法
- CSS 定位图片的几种方式
- CSS 定位图片的几种方式
- Flex加载图片的几种方式
- 图片的几种处理方式
- Android绘制图片的几种方式
- JfreeChart生成图片的几种方式
- Android-性能优化之内存泄漏(二)
- php运算优先级情况
- Qt下写一个简单的加法计算界面
- android 开发错误集
- 用ajax验证用户名是否可以注册 GET方式
- 旋转图片的几种方式笔记
- map 组织新数组格式
- pycharm安装mysql-python报错
- ionic3 地区选择器
- c++对象的序列化与反序列化的解决方案----flatbuffers的使用
- C程序调用shell脚本共有三种方法
- C语言中自带头文件(.h)中包含的函数
- 查找------红黑树
- Python常见文件操作的函数示例