相关疑难解决方法(0)

iOS - 检测像素的颜色?

例如,假设我想用屏幕坐标(100,200)检测像素的颜色.有没有办法做到这一点?

编辑 - 我现在不担心视网膜显示问题.

screen pixel colors ios

16
推荐指数
2
解决办法
2万
查看次数

从CGImage获取RGB像素数据

我试图从CGImage访问像素数据.我希望能够以整数形式访问RGB值.我想我差不多有这个代码:

UIImage* theImage = [UIImage imageNamed:@"rgb.png"];
CGImageRef cgImageRef = CGImageRetain(theImage.CGImage);
CFDataRef* imageData = CGDataProviderCopyData(CGImageGetDataProvider(cgImageRef));
NSLog(@"the data = %@", imageData);
Run Code Online (Sandbox Code Playgroud)

然后记录:

data = <010002fe fffdff02 0200fe04 0003fc>

图像是5x1 png,按顺序包含黑色,白色,红色,绿色和蓝色像素.

我真的不明白我在这看什么.我如何获得RGB值的数组,或类似的东西,以便我可以使用它们.

谢谢,Rich

iphone cgimage ios

16
推荐指数
1
解决办法
2万
查看次数

从图像生成颜色方案

我想知道如何从iOS中的图像生成颜色方案.我冲浪并找到一些相关的链接,我可以从这里获得图像的平均颜色,也可以从这里这里的图像中触摸的点获得精确的颜色值但是我无法得到如何获得颜色方案(来自那张图片的10种颜色.

首先,我将给定的图像分成九个部分并进行处理,以获得该特定部分的主色.它工作,但因为链接中的代码只获得平均颜色,这似乎是泥泞.

所以,我希望它是图像中的真实颜色.这是我的需要.有人能指出我如何从给定的图像中获得精确的配色方案吗?

image uicolor ios

6
推荐指数
2
解决办法
5742
查看次数

使用iPhone相机检测心率

可能重复:
使用相机检测心率

我正在研究在iOS中检测脉搏率.我做了一些搜索,现在我能够使用能够读取心跳的外部蓝牙设备读心跳.但现在我对使用iPhone相机检测脉冲感到好奇.我想了解它是如何做到的?这背后的实际理论是什么?任何人都有这个背后的想法吗?

根据我的搜索,我发现我需要在视频模式下使用相机.我需要比较该视频中的每个帧的颜色变化.当我们的心脏将血液泵入体内时,每个泵都会改变颜色.那么我将如何使用相机获得颜色变化,还是有其他方法可以做到这一点?

iphone camera heartbeat ios

5
推荐指数
1
解决办法
1万
查看次数

从UIImageView获取像素数据 - 适用于模拟器,而不是设备

根据对上一个问题的回答,我在UIImageView上创建了一个用于提取像素数据的类别.这在模拟器中工作正常,但在部署到设备时则不行.我应该说并不总是 - 奇怪的是,如果point.x == point.y,它会获取正确的像素颜色; 否则,它给出了该行另一侧像素的像素数据,就像镜像一样.(因此,点击图像右下角的像素会为我提供左上角相应像素的像素数据,但点击左下角的像素会返回正确的像素颜色).触摸坐标(CGPoint)是正确的.

我究竟做错了什么?

这是我的代码:

@interface UIImageView (PixelColor)
- (UIColor*)getRGBPixelColorAtPoint:(CGPoint)point;
@end

@implementation UIImageView (PixelColor)

- (UIColor*)getRGBPixelColorAtPoint:(CGPoint)point
{
    UIColor* color = nil;

    CGImageRef cgImage = [self.image CGImage];
    size_t width = CGImageGetWidth(cgImage);
    size_t height = CGImageGetHeight(cgImage);
    NSUInteger x = (NSUInteger)floor(point.x);
    NSUInteger y = height - (NSUInteger)floor(point.y);

    if ((x < width) && (y < height))
    {
        CGDataProviderRef provider = CGImageGetDataProvider(cgImage);
        CFDataRef bitmapData = CGDataProviderCopyData(provider);
        const UInt8* data = CFDataGetBytePtr(bitmapData);
        size_t offset = ((width * y) + x) …
Run Code Online (Sandbox Code Playgroud)

iphone pixel uiimageview

4
推荐指数
1
解决办法
5492
查看次数

仅在另一个UIImage中移动UIImage

我有一个UIImage显示在UIImageView.我还有另一张图像位于UIImageView第一张图像上方.我希望能够仅在第一个图像的边框内拖动第二个图像.为了让我的目标更清晰一点,请看这张图片:http: //img689.imageshack.us/img689/6136/56308823.png.

绿色引脚应该是可拖动的,但不应该将引脚拖动到蓝色(地图外部).此刻引脚是可拖动的,但我不知道如何检查引脚是否在地图之外.

编辑:我在我的UIImageView子类中使用此方法的可拖动引脚:

- (UIColor *)colorAtPosition:(CGPoint)position {

CGRect sourceRect = CGRectMake(position.x, position.y, 1.f, 1.f);
CGImageRef imageRef = CGImageCreateWithImageInRect([[MapViewController sharedMapViewController]getImage].CGImage, sourceRect);

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
unsigned char *buffer = malloc(4);
CGBitmapInfo bitmapInfo = kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big;
CGContextRef context = CGBitmapContextCreate(buffer, 1, 1, 8, 4, colorSpace, bitmapInfo);
CGColorSpaceRelease(colorSpace);
CGContextDrawImage(context, CGRectMake(0.f, 0.f, 1.f, 1.f), imageRef);
CGImageRelease(imageRef);
CGContextRelease(context);

CGFloat r = buffer[0] / 255.f;
CGFloat g = buffer[1] / 255.f;
CGFloat b = buffer[2] …
Run Code Online (Sandbox Code Playgroud)

iphone uiimageview uiimage uitouch ios

3
推荐指数
1
解决办法
691
查看次数

带有点击识别器的彩色像素

大家好,我的 iOS 应用需要帮助。如何在我点击的位置获取图像的背景颜色(我在 UIImageView 中插入)。我创建了一个点击手势识别器,但我不知道如何读取我点击的背景颜色。

objective-c ios

-1
推荐指数
1
解决办法
193
查看次数