点击图片中不规则图形提示选中不同区域


如图所示,当点击不同区域做出不同提示
首先制作背景图,然后将不同区域的图片单独截取下来,截取的楼层图必须和背景相同大,保证当所有图片重叠是是一样完整的图片
背景图:

楼层图:

 1 如图所示,当点击不同区域做出不同提示
 2 首先制作背景图,然后将不同区域的图片单独截取下来,截取的楼层图必须和背景相同大,保证当所有图片重叠是是一样完整的图片
 3 背景图:
 4
 5 楼层图:
 6
 7
 8 [java] view plaincopy
 9 package com.bitcare.view;
10
11 import android.content.Context;
12 import android.graphics.Bitmap;
13 import android.graphics.Canvas;
14 import android.util.AttributeSet;
15 import android.view.MotionEvent;
16 import android.view.View;
17
18 public class NavMapView extends View {
19
20     private Bitmap[] mBitmaps;
21     private OnClickBitmapListener clickBitmapListener;
22
23     public NavMapView(Context context) {
24         super(context);
25     }
26
27     public NavMapView(Context context, AttributeSet attrs) {
28         super(context, attrs);
29     }
30
31     /**
32      * 设置图片
33      * @author yubin
34      * @date 2013-10-12
35      */
36     public final void setBitmaps(Bitmap[] bitmap) {
37         this.mBitmaps = bitmap;
38         invalidate();
39     }
40
41     @Override
42     protected void onDraw(Canvas canvas) {
43         super.onDraw(canvas);
44         if (mBitmaps != null) {
45             for (int i = 0; i < mBitmaps.length; i++) {
46                 canvas.drawBitmap(mBitmaps[i], 0, 0, null);
47             }
48         }
49     }
50
51     @Override
52     public boolean onTouchEvent(MotionEvent event) {
53         if (event.getAction() == MotionEvent.ACTION_DOWN) {
54             which(event.getX(), event.getY());
55         }
56         return true;
57     }
58
59     public void which(float x, float y) {
60         if (mBitmaps != null) {
61             for (int i = 0; i < mBitmaps.length; i++) {
62                 // 判断坐标点不超过图片得宽高
63                 if ((int) x > mBitmaps[0].getWidth() || (int) y > mBitmaps[0].getHeight()) {
64                     clickBitmapListener.ClickBitmap(-1);
65                     break;
66                 }
67                 Bitmap mBitmap = mBitmaps[i];
68                 // 判断坐标点是否是在图片得透明区域
69                 if (mBitmap.getPixel((int) x, (int) y) != 0) {
70                     clickBitmapListener.ClickBitmap(i);
71                     break;
72                 }
73             }
74         }
75     }
76
77     public final void setOnClickBitmapListener(OnClickBitmapListener listener) {
78         this.clickBitmapListener = listener;
79     };
80
81     public static interface OnClickBitmapListener {
82         /**
83          * @param index -1表示超出范围
84          * @author yubin
85          * @date 2013-10-12
86          */
87         void ClickBitmap(int index);
88     }
89 }  

来自:http://blog.csdn.net/q445697127/article/details/12653127

时间: 2024-10-09 06:36:50

点击图片中不规则图形提示选中不同区域的相关文章

使用CSS 3创建不规则图形 文字围绕

前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中.本篇文章的目的是为大家开启它的冰山一角.我希望这篇文章能让你对不规则图形有一个初步的了解. 现在,我们已经可以使用CSS 3 常见不规则复杂图形了(点击链接查看),如下图所示: 使用CSS创建的图形,无法内置文字或实现文字环绕效果.因此,如何实现不规则图形和文字复杂布局也成为了一个热议话题. 今天我们就来介绍一下如何实现这个效果.文章中我们将阐述如何使用 CSS创建不规则图形,实现不规则的文本布局.学会如何创建不规则图形之后

点击删除弹出提示是否删除代码

点击删除弹出提示是否删除代码:在一些应用中,会有删除功能,比如删除新闻等功能,在这些功能中,当点击删除的时候,一般会弹出提示窗口,提示是否要删除指定的内容,以防止出现误操作现象,下面就通过代码实例介绍一下,如何弹出这个提示窗口.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content=&quo

qt button以及label实现不规则图形

1.方法1:准备一张边界是透明的不规则图形 QPushButton * pbtn = new QPushButton;    pbtn->setStyleSheet("QPushButton{border:0px;}");//这句务必加上,否则看到的就是矩形了,而不是不规则图形了    pbtn->setText("aaa");    pbtn->setIcon(QPixmap("://louDong.png"));    pb

点击文字使RadioButton被选中

<html><head><title>标题页</title></head><body><br><input type="radio" name="myLike" value="Like1" id="Like1"><label for="Like1"> 体育运动:NBA</label> &l

codemirror 小功能的添加(点击删除默认的提示语)

最近要写一个简单的html网页的日志规范,领导建议用一些目前流行的code代码高亮度显示插件(javascript)等. 然后,就开始对各种不通的code代码显示插件的研究. 研究的目标: (1)有一个纯文本显示(highlight ,codemirror 都可以实现): (2)一个输入代码高亮度显示(codemirror 实现). 首先,研究的是highlight,highlight 是javascript+css 控制完成的代码提示,功能很强大.而且使用方便.主要体现在: (1)只需要引入一

odoo10 按钮点击时的弹窗提示确认消息

odoo按钮点击时的弹窗提示确认消息 场景: 在单据页面操作工作流流程的时候,有时候会选择点击取消这份单据,但有时候会误点击,这时候最好是有一个弹窗消息提示一下你是否确认取消这样的消息 思路: 在button按钮上设置一个消息提示,后台设置提示的内容 实现: 在需要弹窗的按钮后面跟上这样一个属性: <button name="action_cancel" icon="fa-close" string="Cancel" type="

点击自定义下拉框以外的区域关闭下拉框

1.写一个下拉框 html部分: <div class="pull-left service-type mt-36"> <div id="currentService">第一<img style="margin-left: 5px" src="arrow.png"/></div> <ul class="service-option hidden">

[切图]不规则图形的切法

把选中的两个图层连接起来,以后无论选不选中这两个图层,都可以直接把不规则图片拖走啦(选中图层,点击下面的链接标志,就可以把图层连接起来),如下图: PS小技巧: 点击图片选中图层前,记着做下面的噢:

在EasyUI实现点击有子节点的文字时展开但不选中,点击最终子节点才选中的功能

最近做的项目中,总是会遇到需要实现点击树目录的有子节点时展开目录,点击最终子节点才实现选中的功能的需求.下边我就直接黏贴一下代码出来吧,非常容易看懂,关键的就是在选中事件中加一个判断. $('#RepairTID').combotree({        url: '/RepairSub/GetRepTypeZ/?userRole=5',        required: true,        panelHeight: 'auto',        onLoadSuccess: functi