2009-08-31 5 views

Répondre

2

Si vous avez seulement besoin d'afficher la bordure, vous pouvez le faire avec Core Animation sur la couche de UIImageView. Si vous avez besoin de le faire sur l'image elle-même, vous devrez créer une nouvelle image, dessiner l'ancienne image dans la nouvelle image, puis dessiner un rect sur le dessus.

- (UIImage*)imageWithBorderFromImage:(UIImage*)source; 
{ 
    CGSize size = [source size]; 
    UIGraphicsBeginImageContext(size); 
    CGRect rect = CGRectMake(0, 0, size.width, size.height); 
    [source drawInRect:rect blendMode:kCGBlendModeNormal alpha:1.0]; 

    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(context, 1.0, 0.5, 1.0, 1.0); 
    CGContextStrokeRect(context, rect); 
    UIImage *testImg = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return testImg; 
} 

Ceci mettra une bordure rose sur une image et renverra la nouvelle image.

+0

tnx, cela a fonctionné comme je le voulais. La bordure pourrait-elle être plus grasse? – Shay

Questions connexes