注意是反转,不是翻转。
/**
* 图片处理
*
* @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 提供...
"简单图片处理软件"是一款专为此设计的应用程序,它提供了丰富的功能来满足用户的基本图像编辑需求。以下是对这款软件及其功能的详细解析。 首先,图像特效是该软件的一大特色。特效通常包括滤镜、模糊、锐化、色彩...
总结一下,本项目中的"C# 图片渐变、卷积效果等简易图片处理程序"提供了一个平台,让开发者能够实现基本的图像处理功能。通过理解和实现这些技术,你可以进一步探索复杂的图像处理任务,如图像分割、特征提取、模式...
在"OpenGL简单图片处理"这个主题中,我们将探讨如何使用OpenGL来加载图像并对其进行印象派风格的处理。 首先,要加载图片,我们需要一个图像处理库,如FreeImage或SOIL,它们提供了方便的API来读取常见的图像格式...
这个“Windows Phone简单图片处理例子程序”旨在帮助开发者理解和实现基本的图像操作和效果。通过这个示例,我们可以学习到以下几个关键知识点: 1. **Windows Phone SDK与XAML**:Windows Phone应用程序通常使用C#...
"简单图片处理"这个主题涵盖了几个基本的图像操作,如柔化图片、打马赛克、浮雕效果、旋转以及修改图片格式。这些技术都有其独特的应用场景,并且在日常工作中经常被用到。 首先,我们来了解一下图片的柔化处理。...
标题中的“简单的图片处理软件”指的是那些设计简洁、操作直观的图像编辑工具,它们通常具有基本的图片编辑功能,如裁剪、旋转、调整亮度对比度、添加滤镜等,适合于非专业用户或者对复杂图像编辑软件不熟悉的人群...
C#简易图片处理软件:复制、粘贴、木刻、浮雕、光照、马赛克、柔化、锐化、黑白、底片、雾化、积木、扭曲……
在实际应用中,一款好的图片处理软件往往包含以下特点: 1. **易用性**:直观的用户界面,使得用户无需专业技能也能轻松上手。 2. **效率**:快速处理图片,不消耗过多系统资源,不影响其他应用程序的运行。 3. **...
IrfanView是一款轻量级且功能丰富的图片处理软件,尤其适合初级用户和专业人士进行日常的图像管理和编辑工作。这款软件以其简洁的界面、快速的操作和广泛的格式支持赢得了广大用户的喜爱。下面我们将深入探讨...
在VB(Visual Basic)编程环境中,我们可以利用GDI+(Graphics Device Interface Plus)库来创建一个简易的图片处理程序。这个程序集成了多种常见的图像操作功能,如灰度处理、图片翻转、旋转、调整亮度与对比度,...
很简单的处理图像工具,下载安装即可,不用注册的,很方便的啊
标题 "一个简单的图片处理程序" 暗示我们要讨论的是一个使用编程语言处理图像的应用,这里特别提到了“内存法”。这通常意味着程序在内存中完成图像数据的加载、处理和存储,以提高效率和安全性。 内存法在图像处理...
自己用VB做的简单的图片处理软件,包括简单的灰度处理、图片旋转、翻转、亮度和对比度处理以及滤镜和万花筒功能
iOS端的简易图片处理工具:圆角、缩略图、水印、裁剪、根据遮罩图形状裁剪、阴影、旋转、渲染UIView成图片、压缩…… 更详细介绍及使用方法见GitHub:https://github.com/976431yang/YQImageTool
在这个上下文中,我们讨论的是一个基于MFC的简单图片处理软件,其主要功能包括灰度图像转换和图像锐化。 图像处理领域中,灰度变换是一种基础且直接的增强图像对比度的技术。灰度变换通过改变图像中每个像素的灰度...
在IT领域,图片处理是一项常见的任务,涉及到许多技术细节。本文将主要探讨“画图”、"图片处理"、"图片旋转"以及"图片灰度处理"这些关键知识点。 首先,"画图"通常指的是使用计算机图形软件进行图像编辑和创作。在...