专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Android

android 怎么使图片变灰

发布时间:2010-05-30 10:53:19 文章来源:www.iduyao.cn 采编人员:星星草
android 如何使图片变灰
android 如何使图片变灰

------解决方案--------------------
是把彩色图像转换为灰度图是不是?
我帮你写了一段代码,测试通过。方法的两个参数分别是源文件,目标文件在Android内的路径位置。
要注意的是,存取SD卡的话,必须在AndroidManifest.xml文件中加上一行
<uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE" />
否则创建文件会失败。

Java code

package com.example;

import java.io.*;
import android.graphics.*;
import android.graphics.Bitmap.CompressFormat;

public class ReadImage
{
    public static void toGrayImage(String source, String dest)
    {
        try
        {
            Bitmap bitmap = BitmapFactory.decodeFile(source);
            
            int width = bitmap.getWidth();
            int height = bitmap.getHeight();
            Bitmap grayImg = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
            // 
            Canvas canvas = new Canvas(grayImg);

            Paint paint = new Paint();
            ColorMatrix colorMatrix = new ColorMatrix();
            colorMatrix.setSaturation(0);
            ColorMatrixColorFilter colorMatrixFilter = new ColorMatrixColorFilter(
                    colorMatrix);
            paint.setColorFilter(colorMatrixFilter);
            canvas.drawBitmap(bitmap, 0, 0, paint);
            // canvas.
            File file = new File(dest);
            boolean success = file.createNewFile();
            FileOutputStream stream = new FileOutputStream(file);
            grayImg.compress(CompressFormat.JPEG, 100, stream);
            stream.flush();
            stream.close();
            
            bitmap.recycle();
            grayImg.recycle();
            
        }
        catch (Exception e)
        {
            @SuppressWarnings("unused")
            String msg = e.getMessage();
        }

    }
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: