http://topic.csdn.net/u/20101025/17/b68f01a6-5dd5-4d2a-9c21-025568fc0bca.html
网上有一大堆,自己可以看看,或者去et上下载一个截屏的软件,然后反编译一下...

解决方案 »

  1.   

    http://download.csdn.net/source/2618563
      

  2.   

    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      Resources res=getResources();
      bmp=BitmapFactory.decodeResource(res,R.drawable.a);
        
      BitmapDrawable bmp1=new BitmapDrawable(bmp);
      ImageView im=new ImageView(this);
      im.setImageDrawable(bmp1);
        
      im.setClickable(true);
      im.setOnTouchListener(new OnTouchListener(){
      float startx=0.0f;
      float starty=0.0f;
      float endx=0.0f;
      float endy=0.0f;
        
      public boolean onTouch(View view,MotionEvent event) {
        
      float x=event.getX();
      float y=event.getY();
      Log.v("start","start");
      if(event.getAction()==MotionEvent.ACTION_DOWN){
      startx=x;
      starty=y;
      }
      System.out.println("middle");
      if(event.getAction()==MotionEvent.ACTION_UP){
      endx=x;
      endy=y;
      }
      System.out.println("end");  Float startxx=new Float(startx);
      Float startyy=new Float(starty);
      Float endxx=new Float(endx);
      Float endyy=new Float(endy);
      int sx=startxx.intValue();
      int sy=startyy.intValue();
      int ex=endxx.intValue();
      int ey=endyy.intValue();
      bmpp=Bitmap.createBitmap(bmp,sx,ex,sy,ey);
        
      return true;
      }
        
        
      });  
      

  3.   

    1楼 我看了那帖子。第一种方法藐视不好使第二种因为我也不会C 就有些麻烦。第三种 view.getDrawingCache() 不是我想要的。我希望使用第二种。 可惜对linux和c都不熟悉。