`

简单的图片处理

 
阅读更多
注意是反转,不是翻转。



/**
 * 图片处理
 * 
 * @author maylian7700@126.com
 * 
 */
public class ImageHandler {

	/**
	 * 图片旋转
	 * 
	 * @param bmp
	 *            要旋转的图片
	 * @param degree
	 *            图片旋转的角度,负值为逆时针旋转,正值为顺时针旋转
	 * @return
	 */
	public static Bitmap rotateBitmap(Bitmap bmp, float degree) {
		Matrix matrix = new Matrix();
		matrix.postRotate(degree);
		return Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);
	}

	/**
	 * 图片缩放
	 * 
	 * @param bm
	 * @param scale
	 *            值小于则为缩小,否则为放大
	 * @return
	 */
	public static Bitmap resizeBitmap(Bitmap bm, float scale) {
		Matrix matrix = new Matrix();
		matrix.postScale(scale, scale);
		return Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true);
	}

	/**
	 * 图片缩放
	 * 
	 * @param bm
	 * @param w
	 *            缩小或放大成的宽
	 * @param h
	 *            缩小或放大成的高
	 * @return
	 */
	public static Bitmap resizeBitmap(Bitmap bm, int w, int h) {
		Bitmap BitmapOrg = bm;

		int width = BitmapOrg.getWidth();
		int height = BitmapOrg.getHeight();

		float scaleWidth = ((float) w) / width;
		float scaleHeight = ((float) h) / height;

		Matrix matrix = new Matrix();
		matrix.postScale(scaleWidth, scaleHeight);
		return Bitmap.createBitmap(BitmapOrg, 0, 0, width, height, matrix, true);
	}

	/**
	 * 图片反转
	 * 
	 * @param bm
	 * @param flag
	 *            0为水平反转,1为垂直反转
	 * @return
	 */
	public static Bitmap reverseBitmap(Bitmap bmp, int flag) {
		float[] floats = null;
		switch (flag) {
		case 0: // 水平反转
			floats = new float[] { -1f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 1f };
			break;
		case 1: // 垂直反转
			floats = new float[] { 1f, 0f, 0f, 0f, -1f, 0f, 0f, 0f, 1f };
			break;
		}

		if (floats != null) {
			Matrix matrix = new Matrix();
			matrix.setValues(floats);
			return Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);
		}

		return null;
	}

}

分享到:
评论

相关推荐

    简易图片处理工具简易图片处理工具

    本文将深入探讨“简易图片处理工具”的核心功能:缩放尺寸、批量命名以及将照片插入Excel单元格。 首先,让我们关注“缩放尺寸”这一功能。在数字图像中,尺寸通常以像素为单位。调整图片尺寸可能是为了适应不同的...

    JavaFX简易图片处理

    在"JavaFX简易图片处理"这个项目中,我们聚焦于使用JavaFX来实现基本的图像操作功能。这个项目可能包含源代码、项目配置文件和其他必要的资源,让你能够学习和理解如何在JavaFX环境中处理图像。 首先,JavaFX 提供...

    简单图片处理软件

    "简单图片处理软件"是一款专为此设计的应用程序,它提供了丰富的功能来满足用户的基本图像编辑需求。以下是对这款软件及其功能的详细解析。 首先,图像特效是该软件的一大特色。特效通常包括滤镜、模糊、锐化、色彩...

    C# 图片渐变、卷积效果等简易图片处理程序

    总结一下,本项目中的"C# 图片渐变、卷积效果等简易图片处理程序"提供了一个平台,让开发者能够实现基本的图像处理功能。通过理解和实现这些技术,你可以进一步探索复杂的图像处理任务,如图像分割、特征提取、模式...

    Opengl简单图片处理

    在"OpenGL简单图片处理"这个主题中,我们将探讨如何使用OpenGL来加载图像并对其进行印象派风格的处理。 首先,要加载图片,我们需要一个图像处理库,如FreeImage或SOIL,它们提供了方便的API来读取常见的图像格式...

    Windows Phone 简单图片处理例子程序

    这个“Windows Phone简单图片处理例子程序”旨在帮助开发者理解和实现基本的图像操作和效果。通过这个示例,我们可以学习到以下几个关键知识点: 1. **Windows Phone SDK与XAML**:Windows Phone应用程序通常使用C#...

    简单图片处理

    "简单图片处理"这个主题涵盖了几个基本的图像操作,如柔化图片、打马赛克、浮雕效果、旋转以及修改图片格式。这些技术都有其独特的应用场景,并且在日常工作中经常被用到。 首先,我们来了解一下图片的柔化处理。...

    简单的图片处理软件

    标题中的“简单的图片处理软件”指的是那些设计简洁、操作直观的图像编辑工具,它们通常具有基本的图片编辑功能,如裁剪、旋转、调整亮度对比度、添加滤镜等,适合于非专业用户或者对复杂图像编辑软件不熟悉的人群...

    Picture Pocessing(C#简易图片处理)

    C#简易图片处理软件:复制、粘贴、木刻、浮雕、光照、马赛克、柔化、锐化、黑白、底片、雾化、积木、扭曲……

    最简单实用的图片方便处理软件

    在实际应用中,一款好的图片处理软件往往包含以下特点: 1. **易用性**:直观的用户界面,使得用户无需专业技能也能轻松上手。 2. **效率**:快速处理图片,不消耗过多系统资源,不影响其他应用程序的运行。 3. **...

    IrfanView简易图片处理

    IrfanView是一款轻量级且功能丰富的图片处理软件,尤其适合初级用户和专业人士进行日常的图像管理和编辑工作。这款软件以其简洁的界面、快速的操作和广泛的格式支持赢得了广大用户的喜爱。下面我们将深入探讨...

    用vb做的简易图片处理程序

    在VB(Visual Basic)编程环境中,我们可以利用GDI+(Graphics Device Interface Plus)库来创建一个简易的图片处理程序。这个程序集成了多种常见的图像操作功能,如灰度处理、图片翻转、旋转、调整亮度与对比度,...

    很简单的处理图片工具

    很简单的处理图像工具,下载安装即可,不用注册的,很方便的啊

    一个简单的图片处理程序

    标题 "一个简单的图片处理程序" 暗示我们要讨论的是一个使用编程语言处理图像的应用,这里特别提到了“内存法”。这通常意味着程序在内存中完成图像数据的加载、处理和存储,以提高效率和安全性。 内存法在图像处理...

    用vb做的简易图片处理软件

    自己用VB做的简单的图片处理软件,包括简单的灰度处理、图片旋转、翻转、亮度和对比度处理以及滤镜和万花筒功能

    ios-YQImageTool-简易图片处理.zip

    iOS端的简易图片处理工具:圆角、缩略图、水印、裁剪、根据遮罩图形状裁剪、阴影、旋转、渲染UIView成图片、压缩…… 更详细介绍及使用方法见GitHub:https://github.com/976431yang/YQImageTool

    MFC处理图片软件源代码

    在这个上下文中,我们讨论的是一个基于MFC的简单图片处理软件,其主要功能包括灰度图像转换和图像锐化。 图像处理领域中,灰度变换是一种基础且直接的增强图像对比度的技术。灰度变换通过改变图像中每个像素的灰度...

    画图 图片处理 图片旋转 图片灰度处理

    在IT领域,图片处理是一项常见的任务,涉及到许多技术细节。本文将主要探讨“画图”、"图片处理"、"图片旋转"以及"图片灰度处理"这些关键知识点。 首先,"画图"通常指的是使用计算机图形软件进行图像编辑和创作。在...

Global site tag (gtag.js) - Google Analytics