`
弄月吟风
  • 浏览: 199230 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android图像处理工具类

 
阅读更多

还是最近整理代码、、发现了一个师兄写的图片工具类,感觉还是蛮有用的、、主要是图片上传和下载用的比较多吧/*

 * version date author 
 * ────────────────────────────────── 
 * 1.0 2010-9-17 Neal Miao 
 */
package com.winfar.ic.util;

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.kobjects.base64.Base64;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

/**
 * 图片处理工具类
 * 
 * @author Neal Miao
 * @version
 * @since v 1.0
 * @Date 2011 May 24, 2011 7:24:50 PM
 * 
 * @see
 */
public class ImageUtil {

	/**
	 * 从SD卡里面读取图片
	 *
	 * @param fileName
	 * @return
	 * @return Bitmap
	 * @since v 1.0
	 */
	public static Bitmap getBitmapByPath(String fileName) {
		String myJpgPath = "/sdcard/ic_tmp/" + fileName;
		BitmapFactory.Options options = new BitmapFactory.Options();
		options.inSampleSize = 12;
		Bitmap bm = BitmapFactory.decodeFile(myJpgPath, options);
		return bm;
	}

	/**
	 * 保存图片到SD卡
	 *
	 * @param bitName
	 * @param mBitmap
	 * @throws IOException
	 * @return void
	 * @since v 1.0
	 */
	public static void saveMyBitmap(String bitName, Bitmap mBitmap)
			throws IOException {
		File tmp = new File("/sdcard/ic_tmp/");
		if (!tmp.exists()) {
			tmp.mkdir();
		}
		File f = new File("/sdcard/ic_tmp/" + bitName + ".png");
		f.createNewFile();
		FileOutputStream fOut = null;
		try {
			fOut = new FileOutputStream(f);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
		try {
			fOut.flush();
			fOut.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static String image2Bytes(String imageName) {
		File tmp = new File("/sdcard/ic_tmp/");
		if (!tmp.exists()) {
			return "";
		}
		int bufferSize = 1024;
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		try {
			File f = new File("/sdcard/ic_tmp/" + imageName);
			FileInputStream fis = new FileInputStream(f);
			BufferedInputStream bis = new BufferedInputStream(fis);
			int ch;
			int i = 0;
			while ((ch = bis.read()) != -1) {
				baos.write(ch);
				if (i++ == bufferSize) {
					baos.flush();
					i = 0;
				}
			}
			baos.flush(); // 提交文件流,很关键
			bis.close();
		} catch (FileNotFoundException e) {
			MyLog.e("ImageUtil", e.getMessage());
			return "";
		} catch (IOException e) {
			MyLog.e("ImageUtil", e.getMessage());
			return "";
		}
		return Base64.encode(baos.toByteArray());
	}
}
 
分享到:
评论

相关推荐

    Android图像处理技术

    本文将深入探讨Android图像处理的核心概念、关键API以及实用案例,帮助开发者掌握这一关键技术。 1. **Android图像基础** - Android支持多种图像格式,如JPEG、PNG、GIF和WEBP等。 - Bitmap类是Android中处理图像...

    Android图片处理工具类BitmapUtils

    【Android图片处理工具类BitmapUtils】是Android应用开发中用于高效管理和操作Bitmap对象的一个实用工具类。Bitmap在Android系统中是表示图像数据的核心类,它提供了丰富的图像处理功能,但处理不当可能导致内存溢出...

    android图像处理系统1.3

    本文将深入探讨Android图像处理系统1.3的相关知识点,基于提供的链接(由于无法直接访问,以下内容将根据通常的Android图像处理知识进行阐述)。 1. **Android图像基础**: Android系统提供了多种图像处理API,...

    Android图像处理之图形特效处理

    在本讨论中,我们将深入探讨Android图像处理中的图形特效处理,主要围绕`AndroidMatrix`类,它是Android系统中用于执行2D图形变换的核心工具。 `AndroidMatrix`是Android SDK提供的一种机制,用于处理2D图形的矩阵...

    android图像处理系统1.0

    Android图像处理系统1.0是专为这个操作系统设计的一套完整的图像管理和处理框架,旨在提供高效、灵活的图像操作功能。在这个系统中,开发者可以对图片进行各种操作,如裁剪、旋转、滤镜效果、色彩调整等,以满足不同...

    Android图像处理技术(实现Android中的PS)(六)

    总的来说,Android图像处理技术包括了基础API的使用、颜色空间转换、滤镜效果、几何变换以及第三方库的集成等多个方面。通过熟练掌握这些技术,开发者可以在Android平台上实现各种创意无限的图像处理功能,满足用户...

    android 实时图像处理

    在Android平台上进行实时图像处理是一项复杂且有趣的技术挑战。这个Demo是基于BoofCV库实现的,BoofCV是一个开源的计算机视觉库,专为Java和Android设计,它提供了多种图像处理功能,包括图像分析、追踪、特征检测等...

    Android史上最全工具类

    1. **BitmapUtil**:处理图像的工具类,包括压缩图片、裁剪图片、转换为Base64字符串等功能,对内存管理至关重要,可以避免因大图导致的OOM问题。 2. **DateUtil**:处理日期和时间的工具类,提供了格式化日期、...

    android图片处理工具

    本篇将深入探讨Android图片处理工具的相关知识点,帮助开发者更好地理解和运用这些工具。 首先,Android SDK本身提供了基本的图片处理能力,例如Bitmap类,它是Android中处理图像的基础。Bitmap可以用来加载、创建...

    android各种工具类

    Android提供了多种图片处理工具,如Bitmap类用于加载和处理位图,Matrix用于图像变换,Canvas用于在Bitmap上绘制。对于更复杂的图片处理,如裁剪、缩放、旋转等,可以使用 Picasso、Glide 或 Glide4Engine 等第三方...

    Android图像处理技术(实现Android中的PS)(四)

    一、Android图像处理基础 在Android中,我们可以使用多种库来处理图像,例如Android自带的Bitmap类,它提供了基本的图像操作,如缩放、裁剪和颜色转换。此外,OpenCV是一个强大的开源计算机视觉库,包含许多高级图像...

    Android bitmap工具类

    BitmapUtils工具类是Android开发中不可或缺的一部分,它提高了代码的复用性和可维护性,同时也简化了复杂的图像处理任务。对于一个优秀的Android开发者来说,掌握并熟练运用BitmapUtils工具类是非常必要的。在实际...

    基于Android的图像基本处理示例设计

    本项目旨在设计一个基于Android平台的图像基本处理示例应用,主要功能包括图像的颜色矩阵变换、图像像素效果处理、基本颜色操作以及相关图像处理工具类。应用通过提供多种图像处理操作,展示如何在Android环境下实现...

    android屏幕适配px工具类

    通过阅读这篇博客,开发者可以学习到如何结合这个工具类来优化应用的适配性能,比如如何设置布局尺寸,如何处理图像资源,以及如何编写响应式布局代码。 总的来说,"android屏幕适配px工具类"是Android开发者必备的...

    通过jni实现图像处理的demo-Android Studio

    这个“通过JNI实现图像处理的demo-Android Studio”项目,旨在演示如何利用JNI来增强Android应用的图像处理能力。下面我们将深入探讨相关的知识点。 首先,Android Studio是Google推出的官方Android开发环境,它...

    兼容Android7.0的图片选择工具类

    本教程将详细讲解如何创建一个兼容Android7.0的图片选择工具类,帮助开发者解决这些问题。 首先,理解Android7.0的系统变化至关重要。在Android7.0(API级别24)中,主要的更新包括多窗口模式、快速回复、通知通道...

    Android图像处理之GPUImage for Android

    总的来说,GPUImage for Android是一个强大的图像处理工具,它通过充分利用GPU的优势,实现了高效、实时的图像滤镜应用。无论是开发摄影类应用还是进行复杂的图像特效处理,GPUImage都能提供一个强大而灵活的解决...

    android图像处理系统框架1.2版

    1. **SurfaceTexture与OpenGL ES的集成**:Android图像处理系统常利用SurfaceTexture作为GPU渲染结果的接收者,并通过它可以将图像数据传递给其他组件,如VideoView或自定义的SurfaceHolder。在1.2版中,可能对这种...

    java实现图像处理小工具

    - **ImageProject.jar**:这是Java应用程序的可执行文件,包含了所有的类和资源,可以直接运行以启动图像处理工具。 - **file.properties**:这可能是一个配置文件,用于存储应用程序的设置或默认参数,如用户自定义...

Global site tag (gtag.js) - Google Analytics