2009-08-31 4 views
-2

Как я могу взять UIImage и сделать его черной границей программно?Как я могу взять UIImage и программно сделать черную рамку?

Если я могу получить код, он будет замечательным.

Тпх

+2

Вы уже спрашивали об этом несколько часов назад по адресу http://stackoverflow.com/questions/1354811/how-can-i-take-an-uiimage-and-give-it-a-black-border. –

ответ

2

Если вам нужно отобразить рамку, вы можете сделать это с помощью Core Animation на уровне UIImageView. Если вам нужно сделать это на самом изображении, вам нужно будет создать новое изображение, нарисуйте старое изображение в новом изображении, а затем нарисуйте прямоугольник поверх него.

- (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; 
} 

Это положит розовую рамку на изображение и вернет новое изображение.

+0

tnx, который работал, как я хотел. Является ли граница более жирной? – Shay

0

Я бы взглянуть на это: Can I Edit the Pixels of the UIImage's Property CGImage

Что касается черной пограничной части, я предполагаю, что вы можете понять, что один из. Просто перебирайте вдоль каждой стороны и меняйте пиксели на (0,0,0,255) на определенную сумму.

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

  • Нет связанных вопросов^_^