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. }  


 

 

 

 

posted @   brave-sailor  阅读(602)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2016-04-17 窥探 Swift 之 函数与闭包的应用实例
2016-04-17 swift 深入理解Swift的闭包
2016-04-17 Swift开发语法
2016-04-17 Swift学习笔记 - 函数与闭包
2016-04-17 那些年,学swift踩过的坑
2014-04-17 android之TabWidget选项卡
点击右上角即可分享
微信分享提示