`
1028826685
  • 浏览: 938423 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

位图旋转

阅读更多
(来自Android123)
今天有关Android游戏开发的基础,我们说下Bitmap相关的实用操作,这里我们就说下位图旋转。在Android中图形的旋转和变化提供了方便的矩阵Maxtrix类,Maxtrix类的setRotate方法接受图形的变换角度和缩放,最终Bitmap类的createBitmap方法中其中的重载函数,可以接受Maxtrix对象,方法原型如下  public static Bitmap createBitmap (Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)
参数的具体意思
source 源bitmap对象
x  源坐标x位置
y 源坐标y位置
width  宽度
height  高度
m  接受的maxtrix对象,如果没有可以设置为null
filter 该参数仅对maxtrix包含了超过一个翻转才有效。
  下面Android123给大家一个比较经典的例子,rotate方法是静态方法可以直接调用,参数为源Bitmap对象,参数二为旋转的角度,从0~360,返回值为新的Bitmap对象。其中具体的宽高可以调整。

public static Bitmap rotate(Bitmap b, int degrees) {
        if (degrees != 0 && b != null) {
            Matrix m = new Matrix();
            m.setRotate(degrees,
                    (float) b.getWidth() / 2, (float) b.getHeight() / 2);
            try {
                Bitmap b2 = Bitmap.createBitmap(
                        b, 0, 0, b.getWidth(), b.getHeight(), m, true);
                if (b != b2) {
                    b.recycle();  //Android开发网再次提示Bitmap操作完应该显示的释放
                    b = b2;
                }
            } catch (OutOfMemoryError ex) {
                // Android123建议大家如何出现了内存不足异常,最好return 原始的bitmap对象。.
            }
        }
        return b;
}
分享到:
评论

相关推荐

    位图旋转的算法,不改变图片大小直接显示的

    位图旋转算法是一种在计算机图形学中常见的技术,主要用于图像处理和显示。在这个主题中,我们关注的是如何在不改变位图原始尺寸的情况下实现图像的旋转,并且直接在屏幕上显示旋转后的结果。这种操作通常涉及到图像...

    rotate_bmp.rar_24位位图旋转_bmp 旋转_bmp旋转_位图旋转

    在这个压缩包中,包含了一个名为“rotate_bmp.cpp”的源代码文件,它提供了一种不依赖于Windows API(如windows.h头文件)来实现位图旋转的方法。下面我们将详细探讨这个主题。 首先,24位真彩色位图,也称为RGB...

    利用BitBlt实现位图旋转

    在“GDIRotate”这个示例中,可能包含了实现这些步骤的代码,包括创建内存DC、设置变换矩阵、进行位图旋转和恢复原状的详细过程。通过分析这个示例,你可以更好地理解位图旋转的GDI实现,并可能学习到如何处理更复杂...

    易语言位图旋转例程

    在“易语言位图旋转例程”这个主题中,我们将深入探讨如何在易语言中实现位图图像的旋转功能。 位图,也称为光栅图像,是由像素阵列构成的图像,每个像素有自己的颜色信息。在计算机图形处理中,位图的旋转通常涉及...

    Bitmap位图旋转范例

    这个“Bitmap位图旋转范例”是一个完整的工程,它提供了Bitmap旋转的实现方法,对于学习和理解Bitmap旋转的原理非常有帮助。 首先,我们需要理解Bitmap旋转的基本原理。Bitmap的旋转通常是基于其像素数据的重新排列...

    rotate_bmp.rar_bmp 旋转_rotate_位图旋转

    "rotate_bmp.rar_bmp 旋转_rotate_位图旋转"这个压缩包文件主要包含了关于C++编程中实现位图旋转的函数和相关资源。 位图旋转通常涉及到图像的几何变换,它通过数学算法将图像的每个像素根据特定角度进行重新定位。...

    易语言位图旋转例程.rar

    本压缩包“易语言位图旋转例程.rar”提供了一个关于图像处理的示例程序,主要用于演示如何在易语言环境下实现位图的旋转功能。 位图旋转在图像处理中是一项基础但重要的操作,通常用于创建动态效果或者进行图像校正...

    bmp 文件 位图 旋转 源代码

    位图旋转的核心是图像处理中的几何变换,具体来说,是将图像进行旋转变换。在二维空间中,旋转可以通过矩阵运算来实现。一个简单的二维旋转可以使用以下公式: \( \begin{bmatrix} x' \\ y' \end{bmatrix} = \...

    易语言位图旋转例程.zip易语言项目例子源码下载

    《易语言位图旋转例程》是一个以易语言编写的项目源码,主要涉及图形处理技术,特别是位图的旋转操作。位图是计算机图形学中的一个重要概念,它是由像素阵列表示的图像,广泛应用于各种图形用户界面和游戏开发中。...

    精彩编程与编程技巧-VB中位图旋转的实现...

    ### VB中位图旋转的实现方法 在编程领域,尤其是图像处理方面,位图的旋转是一种常见的需求。本文将详细介绍如何使用Visual Basic (VB) 实现位图的旋转功能,并通过具体的代码示例来帮助读者更好地理解这一过程。 ...

    位图旋转例程

    位图旋转是计算机图形学中的一个常见操作,它涉及到图像处理和二维坐标变换。在本例中,我们看到一个使用VC++6.0实现位图旋转的项目,这是一款经典的微软开发环境,常用于Windows应用程序的开发。让我们深入探讨这个...

    bmp.zip_bmp 缩放_bmp位图旋转_位图旋转_缩放 bmp

    在本案例中,我们关注的是对BMP格式的位图进行缩放和旋转的操作。BMP是一种常见的位图文件格式,它无损地存储图像数据,广泛应用于各种操作系统和应用程序中。 首先,我们要理解BMP文件的结构。BMP文件由文件头、...

    bmp.rar_bmp 旋转_bmp旋转_位图旋转_位图旋转代码_显示bmp

    接下来是位图的旋转。图像旋转是图像处理中的基本操作,一般采用插值算法来实现,如最近邻插值、双线性插值或更高级的立方插值。旋转过程包括两个步骤:计算旋转后的像素坐标和插值得到新像素的值。假设我们想要逆...

    易语言-易语言位图旋转例程

    在“易语言位图旋转例程”这个压缩包中,我们主要探讨的是如何利用易语言来实现位图图像的旋转功能。位图,即Bitmap,是计算机图形学中常见的一种图像格式,它存储了像素颜色信息,可以用于创建、编辑和显示图像。 ...

    精彩编程与编程技巧-VB中任意旋转位图的实现...

    ### 知识点:在VB中实现任意角度的位图旋转 #### 1. 引言 在图形处理领域,图像旋转是一项基本且重要的技术。本文将详细介绍如何使用Visual Basic (VB) 实现位图(Bitmap)的任意角度旋转功能,并提供具体的实现...

    Vb旋转BMP位图,图像旋转演示源码

    本文将深入探讨如何使用VB来旋转BMP位图,以及涉及的关键知识点。 1. BMP位图格式:BMP是Bitmap的缩写,是一种未经压缩的图像文件格式,通常用于存储像素数据。在VB中,处理BMP图像相对简单,因为它的结构清晰,...

    百度旋转验证位图自动裁切(纯算法)

    研究位图,发现位图旋转会自动扩充,经过研究,正方形和长方形任意旋转的最大宽度和高度是他的对角长度。旋转之后,根据对角长度结合原长度和高度,计算出需要裁切的位置。有研究百度旋转的可以拿去继续搞。有的人...

    单色位图旋转

    本话题主要探讨的是针对单色位图的旋转操作,这是一种特殊的图像类型,其中每个像素仅用一位来表示其颜色,通常为黑或白。单色位图的处理相比全彩图像更为简单,但旋转操作依然需要精确的算法来实现。 单色位图的...

Global site tag (gtag.js) - Google Analytics