首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android 之批改图片的某一颜色值

2013-03-10 
android 之修改图片的某一颜色值首先我们来创建一个叫Image的类,这个类主要用来处理与图有关的一些操作。pa

android 之修改图片的某一颜色值

首先我们来创建一个叫Image的类,这个类主要用来处理与图有关的一些操作。

package org.cn;import java.io.IOException;import java.lang.Character.UnicodeBlock;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.view.WindowManager;import android.view.WindowManager.LayoutParams;import android.widget.ImageView;public class ImageAct extends Activity {Image image;int len;int red;int greed;int blue;int apla;int pix;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);try {image = new Image(this, "Alfa_Romeo_8C_Competizione_Detail.png",1,1);len = image.getWidth() * image.getHeight();int[] imageARGB = new int[len];int[] newimage = new int[len];image.getPixel(imageARGB, 0, 0);for (int i = 0; i < image.getHeight(); i++)for (int j = 0; j < image.getWidth(); j++) {if (imageARGB[i * image.getWidth() + j] != 0) {//apla = ((imageARGB[i * image.getWidth() + j]&0xaa000000)>>24);red = ((imageARGB[i * image.getWidth() + j] & 0x00ff0000) >> 16);greed = ((imageARGB[i * image.getWidth() + j] & 0x0000ff00) >> 8);blue = ((imageARGB[i * image.getWidth() + j] & 0x000000ff));// int apla = ((5 * 255 / 10) << 24) | 0x00ffffff;if (red == 255 && greed == 255 & blue == 255) {red = 255;greed = 0;blue = 0;// pix =((red<<16)|(greed<<8)|blue)&apla;}pix = (red << 16) | (greed << 8) | blue;newimage[i * image.getWidth() + j] = pix;} elsenewimage[i * image.getWidth() + j] = imageARGB[i* image.getWidth() + j];}Bitmap bitmap = image.CreateImage(newimage, image.getWidth(),image.getHeight());((ImageView) findViewById(R.id.imageView1)).setImageBitmap(bitmap);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

ok通过上面的两个类就可以将图片里的白色转换为红色了。

热点排行