2013-11-25 2 views
3

Я новичок в Ios поэтому, пожалуйста, быть нежным ...Как получить пиксели изображения, которые возвращают rgb, шестнадцатеричное значение? ИОС

У меня есть imageview, которые отображают выбранное изображение из photo library.

Я хочу выбрать цвет, который я выбираю, касаясь изображения rgb и hex.

+0

Ну, вы знаете, что вы новичок в программировании, периоде, а не только в iOS. Например, что вы подразумеваете под «шестнадцатеричным значением»? Это всего лишь способ представления числа ... – trojanfoe

+0

Я хочу получить RGB и шестнадцатеричные значения цвета в каждом пиксельном пункте, когда я касаюсь. –

+0

hex для шестнадцатеричных значений –

ответ

0

Я думаю, вы должны попробовать этот метод:

- (UIColor *)colorAtPosition:(CGPoint)position 
{ 
    CGRect sourceRect = CGRectMake(position.x, position.y, 1.f, 1.f); 
    CGImageRef imageRef = CGImageCreateWithImageInRect(self.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]/255.f; 
    CGFloat a = buffer[3]/255.f; 

    free(buffer); 

    return [UIColor colorWithRed:r green:g blue:b alpha:a]; 
} 

или попробовать это один:

http://www.markj.net/iphone-uiimage-pixel-color/

Это довольно прохладно подход.

+0

@kroolik http://www.markj.net/iphone-uiimage-pixel-color/ не работает должным образом для пользовательского изображения ... вы проверили это? –

+0

@iosLearner, я не автор этого сообщения. Я только что улучшил предложение по редактированию, отправленное другим пользователем SO. Этот вопрос следует задать Варуну. –

+0

Хммм, хорошо попробуй, чтобы ты учился :) –

Смежные вопросы