drafwable-旋转

1.图片旋转

 private Drawable rotatDrawable(Drawable drawable, float angle){
        Matrix matrix = new Matrix();
        Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
        matrix.setRotate(angle);
        bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
        bitmap.getHeight(), matrix, true);
        return new BitmapDrawable(bitmap);
    }   

它能够实现旋转,但是图片大小却改变了

方法二:

  private Bitmap mHistoryHideButtonBitmap;
    private Drawable mHistoryHideButtonDrawable;
    private boolean mHistoryHideButtonSign;
    private int mHistoryHideButtonBitmapWidth;
    private int mHistoryHideButtonBitmapHeight;

 mHistoryHideButtonBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.history_pad_display_bg_normal);
        mHistoryHideButtonDrawable = getResources().getDrawable(R.drawable.history_pad_display_bg_normal);
        mHistoryHideButtonBitmapWidth = mHistoryHideButtonBitmap.getWidth() ;
        mHistoryHideButtonBitmapHeight = mHistoryHideButtonBitmap.getHeight();

 private Drawable rotatDrawable(Drawable drawable, float angle){
        Matrix matrix = new Matrix();
/* Vanzo:zhangshuli on: Sat, 21 Mar 2015 14:53:54 +0000
 * modify for v5 calculator
        matrix.setRotate(angle);
 */
        matrix.postRotate(angle, mHistoryHideButtonBitmapWidth/2, mHistoryHideButtonBitmapWidth/2);
// End of Vanzo: zhangshuli
        Bitmap bitmap = Bitmap.createBitmap(mHistoryHideButtonBitmap, 0, 0, mHistoryHideButtonBitmapWidth,
        mHistoryHideButtonBitmapHeight, matrix, true);
        return new BitmapDrawable(bitmap);
    } 

仍然会缩小

方法三

时间: 2024-11-07 19:20:16

drafwable-旋转的相关文章

HTML5 CSS3 诱人的实例: 3D立方体旋转动画

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/34120047 创意来自:http://www.html5tricks.com/demo/html5-3d-cube/index.html , 同学给我发的样例,感觉非常不错,只是实在想不出来实际的用处.可是效果非常炫~ 效果图: 知识点: 1.perspective ,transform 的复习 2.css3 backgroud实现格格背景.即面上的小格格 3. @-webki

理解HTC Vive更新——控制相机旋转和位移

本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/72188658 作者:cartzhang 一.写在前面 在HTC的vive 头盔中, 一旦Vive头盔连接都unity游戏中,就会控制所有Camera的旋转和位置. 这对于有需要的控制非头盔相机带来了烦恼. 比方说,上篇博客中,在VR中,对某个特点位置截图,就会由于头盔控制所有相机的旋转, 造成截图不精确和出现偏移. 地址:

旋转数组的最小数字

题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1.NOTE:给出的所有元素都大于0,若数组大小为0,请返回0. class Solution { public: int minNumberInRotateArray(vector<int> rotateArray) { if(rotateArray.size()==0) re

trasition,transform,旋转

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> body{ margin: 100px; } .div1{ width: 200px; height: 150px; transform: rotate(30deg); background-color: ant

WebGL递归处理和移动?旋转?缩放

3D世界只有三种运动方式:移动.旋转.放大缩小. 使用setTimeout函数可以实现反复的循环处理,那么具体的做法是怎样的呢?setTimeout函数的第一个参数是调用的函数,第二个参数是需要经过多长时间(毫秒)后调用这个函数.如果第一个参数指定为当前所运行的函数的话,那么就可以实现持续循环了.    ?函数A被调用    ?在函数A中,使用setTimeout,并传入函数A作为参数    ?经过指定的时间后,函数A被调用    按照上面的步骤,把WebGL中绘图部分写成递归函数,就可以持续循

Opencv图像识别从零到精通(7)----图像平移、旋转、镜像

根据vc6.0c++的学习经验,如果可以很好的自己编程,让图像进行平移旋转这些操作,那么就好像能够清楚的看见图像的内部结构当然这里你怎么访问像素,这个可以自己选一种适合的,最多的是ptr指针,at也是挺多的.看着很简单的变换,可以对图像处理上手的更快,当然对于旋转可能就稍微i难了一点,不过opencv提供了resize(0,remap()等这样的函数,可以方便的让我们进行学习-特别是旋转的时候,有很多的变换,你可以任意旋转一个角度,也可能一直旋转,当然还可以保持图像大小不变的旋转和大小变换的旋转

左旋转字符串

题目 字符串左移k位后的结果 解题 旋转三次 public class Solution { public String LeftRotateString(String str,int n) { if(str == null || str.length() <=1) return str; int len= str.length(); n = n%len; char[] A = str.toCharArray(); reverse(A,0,len-1); reverse(A,0,len-n-1)

移动端上传照片 预览+draw on Canvas demo(解决iOS等设备照片旋转90度的bug)

背景: 本人的一个移动端H5项目,需求如下: 手机相册选取或拍摄照片后在页面上预览 然后绘制在canvas画布上. 这里,我们先看一个demo(http://jsfiddle.net/q3011893/83qfqpk8/embedded/) 操作步骤: 1.点击选择文件,拍摄一张照片,此时"预览:"文字下会显示你刚才拍摄的照片: 2.再点击"draw on Canvas",该按钮下的画布会绘制你刚才拍摄的照片. 正常的结果: 正文: 让input file支持拍照+

css3 翻转和旋转的区别

我以前一直以为旋转跟翻转一样,今日自己旋转了好久都发觉跟翻转差一点点,纠结了十几分钟才明白,只能怪自己的立体感太差了. css3中的transform中有旋转,放缩,倾斜,平移的功能,分别对应的属性是:rotate,scale,skew,translate 旋转:(rotate) -webkit-transform:rotate(10deg); -moz-transform:rotate(10deg); transform:rotate(10deg); /* 何问起 hovertree.com

物体旋转后缓慢停在指定角度的实现

可指定物体的旋转时间速度停下角度,可以参考来实现转盘抽奖或图片翻转打开等效果. 1 using UnityEngine; 2 using System.Collections; 3 4 public class Rotate : MonoBehaviour 5 { 6 public float targetAngle = 180f; 7 public float spinSpeed = 6f; 8 public float stopSpeed = 2f; 9 public float durat