iOS 获取图片某一点的颜色对象(UIColor*
来源:互联网 发布:js选择器innerhtml 编辑:程序博客网 时间:2024/06/06 03:55
UIImage+ColorAtPixel.h
@interface
UIImage (ColorAtPixel)
- (UIColor *)colorAtPixel:(CGPoint)point;
@end
#
import
<CoreGraphics/CoreGraphics.h
>
#
import
"UIImage+ColorAtPixel.h"
@implementation
UIImage (ColorAtPixel)
- (UIColor *)colorAtPixel:(CGPoint)point {
// Cancel if point is outside image coordinates
if
(!CGRectContainsPoint(CGRectMake(
0
.0f,
0
.0f, self.size.width, self.size.height), point)) {
return
nil;
}
NSInteger pointX = trunc(point.x);
NSInteger pointY = trunc(point.y);
CGImageRef cgImage = self.CGImage;
NSUInteger width = self.size.width;
NSUInteger height = self.size.height;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
int
bytesPerPixel =
4
;
int
bytesPerRow = bytesPerPixel *
1
;
NSUInteger bitsPerComponent =
8
;
unsigned
char
pixelData[
4
] = {
0
,
0
,
0
,
0
};
CGContextRef context = CGBitmapContextCreate(pixelData,
1
,
1
,
bitsPerComponent,
bytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
CGColorSpaceRelease(colorSpace);
CGContextSetBlendMode(context, kCGBlendModeCopy);
// Draw the pixel we are interested in onto the bitmap context
CGContextTranslateCTM(context, -pointX, pointY-(CGFloat)height);
CGContextDrawImage(context, CGRectMake(
0
.0f,
0
.0f, (CGFloat)width, (CGFloat)height), cgImage);
CGContextRelease(context);
// Convert color values [0..255] to floats [0.0..1.0]
CGFloat red = (CGFloat)pixelData[
0
] /
255
.0f;
CGFloat green = (CGFloat)pixelData[
1
] /
255
.0f;
CGFloat blue = (CGFloat)pixelData[
2
] /
255
.0f;
CGFloat alpha = (CGFloat)pixelData[
3
] /
255
.0f;
return
[UIColor colorWithRed:red green:green blue:blue alpha:alpha];
}
@end
0 0
- iOS 获取图片某一点的颜色对象(UIColor*)。
- iOS 获取图片某一点的颜色对象(UIColor*
- iOS 获取图片某一点的颜色对象UIColor
- cocos2dx获取图片某一点的颜色
- IOS 获取图像指定点的颜色(UIColor)
- iOS获取UIColor对象的RGB值
- iOS 获取UIColor对象的rgb值。
- iOS获取UIColor对象的CMYK值
- iOS颜色摄合器,获取图片某点的颜色值
- 利用windows 系统的画图工具获取图片上某一点的颜色RGB值
- Cocos2d-x中,使用Image类获取图片某一点的颜色
- 获取图片某一点的rgb色值
- iOS 获取UIColor对象的HSB字符串值。
- iOS 获取UIColor对象的lab字符串值。
- 获取当前显示屏幕某一点的颜色
- iOS获取UIColor的ARGB
- iOS 单击图片UIImage提取图片上的颜色UIColor (OC)
- IOS UIColor 自定义颜色
- 机器学习中的正则化
- C++中虚析构函数的作用
- mongo 删除内嵌数组元素
- 网络编程
- CUDA与PyCUDA开发环境配置详情
- iOS 获取图片某一点的颜色对象(UIColor*
- Java量与变量的区别
- 单链表和双向链表java实现
- LINUX内核之内存屏障
- C语言构建WEB管理系统(三):CGI程序解析GET数据
- 二维数据按某个字段排列顺序
- iOS9.0适配
- FPGA、ARM、单片机下载方式及原理的比较
- linux 命名信号量实现进程间的互斥与同步