我是新來的ios所以請溫柔...如何獲得返回rgb,十六進制值的圖像的像素? ios
我有一個imageview
它顯示從photo library
選定的圖像。
我想選擇我選擇在圖像上觸摸的顏色,其值爲rgb
和hex
。
我是新來的ios所以請溫柔...如何獲得返回rgb,十六進制值的圖像的像素? ios
我有一個imageview
它顯示從photo library
選定的圖像。
我想選擇我選擇在圖像上觸摸的顏色,其值爲rgb
和hex
。
我想你應該試試這個方法:
- (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/
這是很酷的方法。
@kroolik http://www.markj.net/iphone-uiimage-pixel-color/對於自定義圖像無法正常工作...您檢查了嗎? –
@iosLearner,我不是這篇文章的作者。我剛剛改進了另一個SO用戶發佈的修改建議。這個問題應該問Varun。 –
嗯,好好爲你學習:) –
好吧,你聽起來不僅僅是iOS的編程新時期。例如,「十六進制值」是什麼意思?這只是一種表示數字的方法...... – trojanfoe
我想在觸摸時在每個像素點獲取RGB和十六進制顏色值。 –
十六進制值爲十六進制 –