ios像素检测点击

转载 2012年11月27日 20:18:13

出处:http://www.cocoachina.com/bbs/read.php?tid=115082&fpage=35


1、透明偏移

NSUInteger alphaOffset(NSUInteger x, NSUInteger y, NSUInteger w){return y * w * 4 + x * 4 + 0;}

2、得到png图片字符数组值
unsigned char *getBitmapFromImage (UIImage *image)
{
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    if (colorSpace == NULL)
    {
        fprintf(stderr, "Error allocating color space\n");
        return NULL;
    }
    
    CGSize size = image.size;
    // void *bitmapData = malloc(size.width * size.height * 4);
    unsigned char *bitmapData = calloc(size.width * size.height * 4, 1); // Courtesy of Dirk. Thanks!
    if (bitmapData == NULL)
    {
        fprintf (stderr, "Error: Memory not allocated!");
        CGColorSpaceRelease(colorSpace);
        return NULL;
    }
    
    CGContextRef context = CGBitmapContextCreate (bitmapData, size.width, size.height, 8, size.width * 4, colorSpace, kCGImageAlphaPremultipliedFirst);
    CGColorSpaceRelease(colorSpace );
    if (context == NULL)
    {
        fprintf (stderr, "Error: Context not created!");
        free (bitmapData);
        return NULL;
    }
    
    CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height);
    CGContextDrawImage(context, rect, image.CGImage);
    unsigned char *data = CGBitmapContextGetData(context);
    CGContextRelease(context);
    
    return data;
}

// 测试是否点击到png的不透明部分
- (BOOL) pointInside:(CGPoint)point withEvent:(UIEvent *)event 
{
    if (!CGRectContainsPoint(self.bounds, point)) return NO;
    return (bytes[alphaOffset(point.x, point.y, self.image.size.width)] > 85);
}
 

使用JavaScript和canvas做精确的像素碰撞检测

作者:Benjamin Horn 我正在开发一个又要使用碰撞检测的游戏。我通常会使用简单高效的盒模型碰撞检测。...
  • nzb329
  • nzb329
  • 2016年07月28日 12:44
  • 3580

不规则图形点击事件的识别 更好

不规则图形点击事件的识别 更好 问题 最近要在iPad上实现一个很独特的功能,简单描述一下就是要显示一个带有半透明背景的弹出界面,在其上加一个不规则形状的图片,手指点击这个弹出...
  • zhangqipu000
  • zhangqipu000
  • 2016年05月21日 17:38
  • 1198

亚像素级的角点检测--goodFeaturesToTrack()

goodFeaturesToTrack() 作用:检测一张图片上的强壮的角点。 形式:void goodFeaturesToTrack(InputArray image, OutputArray co...
  • u014310328
  • u014310328
  • 2015年06月10日 00:19
  • 1365

OpenCV鼠标点击获取像素值/傅里叶变换/直方图修正/低通高通滤波/指数对数变换/

  • 2017年11月07日 16:49
  • 10.1MB
  • 下载

加载图像并点击读取坐标值和像素值

1.用c#写一个读图程序 (1)介绍 窗口中加载了一张7M,分辨率为6000*4000的图片,在图片控件上使用滚轮可以实现图片缩放,点击图片可以获取当前点的像元坐标值和像素值。 (2)原理 pictu...
  • qq_23560347
  • qq_23560347
  • 2016年10月17日 21:06
  • 160

汇编语言(第三版)检测点笔记

检测点1.1 1、 13 2、 1024、0到1023 3、 8192、1024 4、 2的30次方、2的20次方、2的10次方 5、 64、1、16、4 6、 1、1、2、2、4 7...
  • c_cql
  • c_cql
  • 2017年06月07日 19:36
  • 236

汇编语言-课后检测点答案

转自:http://blog.sina.com.cn/s/blog_6ff73cc001014uc7.html 《汇编语言》 清华大学 第二版 课后检测点 检测点1.1(第8页) -------...
  • sd396791336
  • sd396791336
  • 2013年09月30日 15:02
  • 3214

读《汇编语言》3E-III[摘 检测点 实验 课程设计]

2015.12.16 - 2016.01.07 读《汇编语言》I 读《汇编语言》II1. 描述12.16《汇编语言》内容重心通过学习关键指令来深入理解机器工作的基本原理,培养底层编程意识和思想 -...
  • misskissC
  • misskissC
  • 2015年12月16日 22:08
  • 2390

检测点是否在三角形内

数据类: package { import flash.geom.Point; /** * 三角形数据类 * @author Jave.Lin */ public class Tr...
  • linjf520
  • linjf520
  • 2012年04月06日 11:26
  • 1061

面试题:检测点是否在扇形之内

转自:http://www.cnblogs.com/miloyip/archive/2013/04/19/3029852.html 前几天,同事在报告中提及检测角色是否在扇形攻击范围的方法。我觉...
  • jaccen
  • jaccen
  • 2015年08月26日 09:48
  • 1308
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios像素检测点击
举报原因:
原因补充:

(最多只允许输入30个字)