原帖:
http://www.eoeandroid.com/thread-205445-1-1.html

package com.face;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PointF;import android.media.FaceDetector;import android.media.FaceDetector.Face;import android.os.Bundle;import android.view.View; public class MainActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(new myView(this));    }     private class myView extends View{         private int imageWidth, imageHeight;        private int numberOfFace = 5;        private FaceDetector myFaceDetect;        private FaceDetector.Face[] myFace;        float myEyesDistance;        int numberOfFaceDetected;         Bitmap myBitmap;         public myView(Context context) {            super(context);            BitmapFactory.Options BitmapFactoryOptionsbfo = new BitmapFactory.Options();            BitmapFactoryOptionsbfo.inPreferredConfig = Bitmap.Config.RGB_565;            myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.p1, BitmapFactoryOptionsbfo);            imageWidth = myBitmap.getWidth();            imageHeight = myBitmap.getHeight();            myFace = new FaceDetector.Face[numberOfFace];            myFaceDetect = new FaceDetector(imageWidth, imageHeight, numberOfFace);            numberOfFaceDetected = myFaceDetect.findFaces(myBitmap, myFace);        }         protected void onDraw(Canvas canvas) {            // TODO Auto-generated method stub             canvas.drawBitmap(myBitmap, 0, 0, null);             Paint myPaint = new Paint();            myPaint.setColor(Color.GREEN);            myPaint.setStyle(Paint.Style.STROKE);            myPaint.setStrokeWidth(3);             for(int i=0; i < numberOfFaceDetected; i++)            {                Face face = myFace[i];                PointF myMidPoint = new PointF();                face.getMidPoint(myMidPoint);                myEyesDistance = face.eyesDistance();                canvas.drawRect(                        (int)(myMidPoint.x - myEyesDistance*2),                        (int)(myMidPoint.y - myEyesDistance*2),                        (int)(myMidPoint.x + myEyesDistance*2),                        (int)(myMidPoint.y + myEyesDistance*2),                        myPaint);            }        }    }}

  

更多相关文章

  1. Android中隐藏状态栏和标题栏的方法
  2. 修改 ActivityManagerService.java 去掉 android 系统报错和程序
  3. Android(安卓)Animation学习笔记【原帖没有Demo,自己写了一个,链接
  4. 修改 ActivityManagerService.java 去掉 android 系统报错和程序
  5. [Android]挂断、接听电话
  6. 一个不那么完美的手势平滑拖动类FlingGallery
  7. M8或在明年用上Android(安卓)带Wifi与WAPI版已送检
  8. 【转】Android实现人人网点击“+”弹出效果
  9. android 汉化和反编译

随机推荐

  1. Android使用TabLayout+ViewPager实现顶部
  2. Android开发_Android如何获取开机启动项
  3. 第一个AIDL Service
  4. Android(安卓)Camera相关及zxing扫码
  5. Android 绘制反色文字进度条
  6. Android 获取文件目录以及文件的删除 .
  7. android 如何调用(打开)其他程序
  8. 手机游戏开发 保持屏幕常亮
  9. android中dialog封装
  10. Android小笔记之存储与读取