`
gintama
  • 浏览: 51957 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

图片旋转

阅读更多
/**
		 * 调用获取屏幕尺寸的方法,缩放图片、高度设为屏幕的宽、宽度同比压缩、mb是最初被编辑的bitmap对象
		 */

		getDisplayMetrics(this.getBaseContext());
		int w = (int) ((screenWidth * mb.getWidth()) / (mb.getHeight()));
		bmp = Bitmap.createScaledBitmap(mb, w, screenWidth, false); // 宽、高

		iv = (ImageView) findViewById(R.id.edit_picture);
		width = bmp.getWidth();
		height = bmp.getHeight();
		iv.setImageBitmap(bmp);

		ivTurnLeft = (ImageView) findViewById(R.id.turn_left);
		ivTurnRight = (ImageView) findViewById(R.id.turn_right);

		/**
		 * 监听左旋转按钮、逆时针转90度
		 */

		ivTurnLeft.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				// TODO Auto-generated method stub
				Matrix matrix = new Matrix();
				matrix.postRotate(-90);
				Bitmap new_bmp = Bitmap.createBitmap(bmp, 0, 0, width, height,
						matrix, true);
				BitmapDrawable bd = new BitmapDrawable(new_bmp);
				iv.setImageDrawable(bd);
				iv.setScaleType(ScaleType.CENTER);
				bmp = new_bmp;

				x = width;
				width = height;
				height = x;
			}
		});

		/**
		 * 监听右旋转按钮、顺时针转90度
		 */

		ivTurnRight.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				// TODO Auto-generated method stub
				Matrix matrix = new Matrix();
				matrix.postRotate(90);
				Bitmap new_bmp = Bitmap.createBitmap(bmp, 0, 0, width, height,
						matrix, true);
				BitmapDrawable bd = new BitmapDrawable(new_bmp);
				iv.setImageDrawable(bd);
				iv.setScaleType(ScaleType.CENTER);
				bmp = new_bmp;
				x = width;
				width = height;
				height = x;
			}
		});

/**
	 * 获取手机屏幕尺寸的方法
	 */
	public void getDisplayMetrics(Context c) {
		DisplayMetrics dm = new DisplayMetrics();
		dm = c.getApplicationContext().getResources().getDisplayMetrics();
		screenWidth = dm.widthPixels;
		// screenHeight = dm.heightPixels;
	}

/**
应该提取出左选装和右旋转的公共部分、避免代码重复、
新建Matrix对象的操作不能提取、否则会造成旋转累计、
第一次转90、第二次转180、然后各种错
**/
分享到:
评论

相关推荐

    图片旋转支持所有浏览器

    "图片旋转支持所有浏览器"这个主题聚焦于如何实现在不同的浏览器环境下,对图片进行旋转操作的技术实现。以下是对这个主题的详细阐述: 一、图片旋转的基本原理 图片旋转主要依赖于CSS3的transform属性,它提供了...

    CSS3 transform实现图片旋转木马3D

    在本文中,我们将深入探讨如何使用CSS3的`transform`属性来实现一个令人惊叹的3D图片旋转木马效果。CSS3的`transform`特性为Web开发者提供了强大的能力,可以对元素进行平移、旋转、缩放和扭曲等多种变换,从而创造...

    C# OpenVINO 图片旋转角度检测 源码

    在本项目中,我们主要探讨如何使用C#编程语言结合Intel的OpenVINO工具套件进行图片旋转角度的检测。OpenVINO(Open Visual Inference and Neural Network Optimization)是一个强大的平台,它允许开发者快速地在各种...

    OpenCvSharp图片旋转.zip

    图片旋转是通过`Rotate`方法实现的。该方法接受一个`RotationFlags`枚举值作为参数,表示旋转方向。以下是一些常见的旋转操作: 1. **左旋转90°**: 使用`RotationFlags.Rotate90Clockwise`,表示顺时针旋转90度...

    图片旋转 任意角度 图象 算法

    图片旋转是计算机图形学中的一个常见任务,尤其在图像处理和多媒体应用中。这个压缩包提供的资源似乎包含了一个动态链接库(DLL)和相应的源代码,用于实现图像任意角度旋转的功能,并且支持多种编程语言,如C、C++...

    PB实现图片旋转,转换操作

    无需注册,直接将dll文件copy在exe下,通过定义函数可以直接图片旋转度数°

    js图片旋转例子demo

    在这个“js图片旋转例子demo”中,我们将探讨如何利用JavaScript来实现图片的旋转效果,特别是在用户点击按钮时,使图片按照九十度的角度进行旋转。 首先,我们有三个主要的文件:`index.html`是网页的结构文件,`...

    图片旋转 源代码 源代码 源代码

    在IT领域,图片处理是一项常见的任务,而图片旋转则是其中的一个基本操作。本文将深入探讨图片旋转的相关知识点,包括原理、实现方式以及源代码解析。 首先,我们需要理解图片旋转的基本概念。图片是由像素组成的,...

    Flash 3D图片旋转展示特效

    本文将深入探讨“Flash 3D图片旋转展示特效”这一主题,帮助从事Flash网站设计的朋友们理解和掌握相关知识。 首先,我们要明白Flash 3D图片旋转展示特效是如何实现的。Flash本身支持2D图形处理,但通过ActionScript...

    JS实现图片旋转

    在JavaScript中实现图片旋转是一项常见的图像处理任务,尤其在网页应用和交互式用户界面中非常常见。本篇文章将深入探讨如何使用JavaScript实现图片的旋转功能,以及相关的关键知识点。 首先,我们要理解JavaScript...

    C# PaddleInference 图片旋转角度检测.rar

    C# PaddleInference 图片旋转角度检测 学习研究Demo,完整Demo,可直接运行 项目环境 VS2022+.net4.8+ OpenCvSharp4+Sdcb.PaddleInference 博客地址 https://blog.csdn.net/lw112190/article/details/131591493 ...

    图片旋转,拖动,伸缩

    这个名为"图片旋转,拖动,伸缩"的项目是用C#编程语言实现的一个图像处理程序,它提供了丰富的功能,包括图片的旋转、翻转、拖放操作、镜像拼接以及缩放等。下面我们将深入探讨这些知识点。 首先,图片旋转是图像...

    css实现图片旋转效果

    要使一张图片旋转,可以使用`transform`属性中的`rotate()`函数。例如,如果我们有一个ID为`image1`的图片元素,我们可以这样设置: ```css #image1 { transform: rotate(45deg); } ``` 上述代码将使图片旋转45度...

    jquery-fancybox扩展实现图片旋转

    **jQuery Fancybox 图片旋转功能实现详解** 在网页中展示图片时,我们有时需要提供一些增强用户体验的功能,比如图片预览、放大查看以及旋转。jQuery Fancybox 是一款强大的轻量级图片和媒体灯箱插件,它允许用户在...

    C++ Builder把图片旋转90度示例程序

    在C++ Builder项目中集成Graphics32库后,可以方便地调用其提供的函数来实现图片旋转。 2. **自定义代码**:如果不使用额外库,我们可以手动实现旋转算法。基本思路是遍历原始图像的每个像素,根据旋转角度计算出新...

    图片旋转效果css

    在网页设计中,图片旋转效果是一种常见的视觉呈现方式,能够为网站增添动态感和吸引力。本文将深入探讨如何使用CSS来实现"图片旋转效果",并以“百度首页音乐旋转”为灵感,创建一个无左右上下波动的稳定旋转效果。 ...

    图片旋转模型,百度登录页面旋转

    在IT领域,图片旋转模型是一种图像处理技术,主要用于纠正或改变图像的方向,使其符合预期的视觉效果。在“图片旋转模型,百度登录页面旋转”这个主题中,我们可以深入探讨图片旋转模型的应用及其在实际场景中的具体...

    基于Labview的2D图片旋转显示

    本程序是源于LabVIEW自带的2D飞机图片旋转VI,经过修改可实现自主选择旋转图片,图片格式为JPG、BMP、PNG三种,需注意的是图片必须是500*500的,否则图片显示会有问题,也可自行修改。

    自定义Gallery图片旋转

    例如,频繁的图片旋转和加载可能导致内存和性能问题,因此可以使用`LruCache`或者`BitmapPool`来缓存和复用图片,减少内存开销。 总之,自定义`Gallery`图片旋转是一个涉及多个技术点的过程,包括自定义控件、事件...

    qml图片旋转拖动鼠标点击变化

    在“qml图片旋转拖动鼠标点击变化”这个主题中,我们将深入探讨如何在QML中处理图片的旋转、拖动以及响应鼠标点击事件,以实现动态的用户界面效果。 首先,我们需要了解QML中的`Image`组件,它是用来显示图像的基本...

Global site tag (gtag.js) - Google Analytics