package com.scy.grayvalue2;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.Menu;
import android.widget.ImageView;
/**
* 思路如下:
1.读取or照相,得到一张ARGB图片。
2.转化为bitmap类,并对其数据做如下操作:
A通道保持不变,然后逐像素计算:X = 0.3×R+0.59×G+0.11×B,并使这个像素的值新R,G,B值为X,即:
new_R = X, new_G = X, new_B = X
例如:原来一个像素是4个byte,分别为ARGB,现在这个像素应该为AXXX。
3.将上一步骤得到的bitmap图像写到输出流里面,并保存为图片。或者直接显示在ImageView上。
* @author scy
*
*/
public class MainActivity extends Activity
{
private byte[] rawData;
private ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView)findViewById(R.id.image);
//将bitmap转换成一个伪灰度图,再转化成一个byte[]
//将byte[]转换为bitmap
//Bitmap bitmapOrg = BitmapFactory.decodeByteArray(rawData, 0, rawData.length);
Bitmap bitmapOrg =