Android开发经验之点击图片判断是否在图片范围之内

  1. package xiaosi.grivaty;  
  2.   
  3. import android.content.Context;  
  4. import android.graphics.Bitmap;  
  5. import android.graphics.BitmapFactory;  
  6. import android.graphics.Canvas;  
  7. import android.graphics.Rect;  
  8. import android.view.MotionEvent;  
  9. import android.view.View;  
  10.   
  11. public class Rects extends View  
  12. {  
  13.   
  14.     private Bitmap bitmap = null;  
  15.     private float x,y;  
  16.     public Rects(Context context)  
  17.     {  
  18.         super(context);  
  19.     }  
  20.   
  21.     @Override  
  22.     protected void onDraw(Canvas canvas)  
  23.     {  
  24.         super.onDraw(canvas);  
  25.         bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.v);  
  26.         canvas.drawBitmap(bitmap, 0, 0, null);  
  27.           
  28.         //创建和位图一样位置的Rect  
  29.         Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());  
  30.         if(rect.contains((int)x, (int)y)){  
  31.             System.out.println("范围之内");  
  32.         }  
  33.         else{  
  34.             System.out.println("范围之外");  
  35.         }  
  36.         System.out.println("图片宽度:" + bitmap.getWidth() + "图像高度:" + bitmap.getHeight());  
  37.         System.out.println("点击X:" + x + "点击Y:" + y);  
  38.     }  
  39.   
  40.     @Override  
  41.     public boolean onTouchEvent(MotionEvent event)  
  42.     {  
  43.         if (event.getAction() == MotionEvent.ACTION_DOWN)  
  44.         {  
  45.             x = event.getX();  
  46.             y = event.getY();  
  47.             // 重绘  
  48.             invalidate();  
  49.         }  
  50.         return true;  
  51.     }  
  52.       
  53. }  


 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
相机是手机中最常用的硬件之一,因此在Android开发中学习如何使用相机是非常重要的。在Android中,相机服务以及相机驱动程序都已经内置在系统中,我们只需要使用它们提供的API就可以轻松地在应用中实现相机功能。 在使用相机之前,需要先检查设备是否具备相机硬件,可以通过检查系统是否具有相机设备来判断: ```java private boolean checkCameraHardware(Context context) { if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) { // 设备具有相机设备 return true; } else { // 设备没有相机设备 return false; } } ``` 如果设备有相机硬件,那么我们就可以开始使用相机了。首先,我们需要获取相机实例: ```java private Camera getCameraInstance() { Camera camera = null; try { camera = Camera.open(); } catch (Exception e) { // 相机不可用(被占用或者不存在) } return camera; } ``` 获取相机实例之后,我们需要对相机进行一些设置,例如设置预览界面、设置拍照参数等。这些设置都可以通过Camera类提供的API来实现。 设置预览界面: ```java // 设置预览界面 private void setPreviewDisplay(SurfaceHolder holder) { try { mCamera.setPreviewDisplay(holder); mCamera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } ``` 设置拍照参数: ```java // 设置拍照参数 private void setCameraParameters() { Camera.Parameters parameters = mCamera.getParameters(); // 设置拍照格式 parameters.setPictureFormat(PixelFormat.JPEG); // 设置拍照质量 parameters.setJpegQuality(100); // 设置相机参数 mCamera.setParameters(parameters); } ``` 拍照: ```java // 拍照 private void takePicture() { mCamera.takePicture(null, null, mPictureCallback); } // 拍照回调 private Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { // 处理拍照结果 } }; ``` 以上就是相机的基本使用方法,在实际开发中,还需要注意相机资源的释放、相机的方向调整等问题。因为相机在不同的设备上可能会有不同的表现,所以在使用相机时一定要充分测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值