2010-12-14 5 views
0

comment contrôler plusieurs actions UIImageview en utilisant un seul uislider dans iphone sdk? Actions telles que la teinte, le contraste, la luminosité, la sacturation, la netteté.traitement d'image

Exemples de codes ou de didacticiels. Veuillez m'aider. Merci d'avance.

Répondre

0

Vous devez accéder au tableau de pixels de votre UIImageView. Pour exemple (il y a beaucoup d'autres façons aussi) avec CGContextRef

CGContextRef context = [self createARGBBitmapContextFromImage:yourView.image.CGImage]; 
unsigned char* data = CGBitmapContextGetData (context); 

size_t width = CGImageGetWidth(yourView.image.CGImage); 
size_t height = CGImageGetHeight(yourView.image.CGImage); 


for (int y=0; y<height; y++) { 
    for (int x=0; x<width; x++) { 
    int pos = y*width + x; 
    int argb = data[pos]; 
    int r = (argb >> 16) & 0xff; 
    int g = (argb >> 8) & 0xff; 
    int b = argb  & 0xff; 
// do here your transformations 
    data[pos] = (0xFF<<24) | (r<<16) | (g<<8) | b; 
    } 
} 

Une simple transformation serait la luminosité à l'exemple:

r = (int) (r + brightness); 
g = (int) (g + brightness); 
b = (int) (b + brightness); 
if(r>=255) r=255; 
if(g>=255) g=255; 
if(b>=255) b=255;