2013-10-26 3 views
0

enter image description hereDrawRect на изображения в ИО, как ниже изображения

Это Synch меня приложение, что я хочу, я хочу, чтобы отобразить изображение в качестве изображения контакта и сообщение, как показано ниже прозрачный прямоугольник с текстом, я хочу создать такой же прямоугольник с изображением с они показали, как карта,

в настоящее время, что я делаю это -

enter image description here]![enter image description here

Я просто хочу, чтобы изменить изображение, как первое изображение, My Сообщение должно появиться в этом прямоугольном прямоугольнике и ниже небольшом изображении в виде изображения на карте.

Вот мой текущий код:

-(UIImage *) drawText:(NSString*) text inImage:(UIImage*)image :(UIImage *)contact_picture 
{ 
    UILabel *lblText=[[UILabel alloc]init]; 


    lblText.text=[NSString stringWithFormat:@"%@",text]; 
    lblText.font = [UIFont fontWithName:@"Helvetica-Bold" size:30.0f]; 



    UIFont *font =lblText.font;; 
    if ([UIScreen instancesRespondToSelector:@selector(scale)]) { 
     UIGraphicsBeginImageContextWithOptions(CGSizeMake(320.0, 480.0), NO, 0.0f); 
    } else { 
     UIGraphicsBeginImageContext(CGSizeMake(320.0, 480.0)); 
    } 

    CGContextRef context = UIGraphicsGetCurrentContext(); 
    [image drawInRect:CGRectMake(0,0,320.0,480.0)]; 
    [contact_picture drawInRect:CGRectMake(230,295,90,90)]; 

    CGRect rect = CGRectMake(20,120,320, 480);//Set Frame as per your Requirement 
    CGContextSetRGBFillColor(context, 255, 255, 255, 1); 



    [text drawInRect:CGRectIntegral(rect) withFont:font]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return newImage; 
} 
+0

то, что ваша проблема, просто как получить прозрачный черный прямоугольник? – Jing

+0

если это так, то с помощью UIKit проще, чем ваш последний вопрос. не нужно использовать кварц. просто используйте UILable и установите его цвет фона, такой как UIColor * color = [UIColor colorWithRed: 0.0 green: 0.0 blue: 0.0 alpha: 0.5]; – Jing

+0

Мне нужен тот же прямоугольник, что и в первом изображении. как это сделать ? – krish

ответ

0

, если вы имеете в виду прямоугольник, который показывает «Jennifier проверяется на ....», вы можете использовать UIView.

UIView *myRectangle = [[UIView alloc] initWithFrame:rectangleFrame]; 
[myRectangle setBackgroundColor:transparantColor]; 
myRectangle.layer.cornerRadius = 3.0; 
[myRectangle.layer setMasksToBounds:YES]; 

[yourSuperView addSubview:myRectangle]; 

//add your text view and image to myRectangle 

--------------------- Кварцевая версия -------------------- -

нарисуйте прямоугольник с угловым радиусом и заполните его прозрачным цветом.

ниже код рисования прямоугольника с угловым радиусом

- (void)rectangleInPath:(CGMutablePathRef)path WithWidth:(CGFloat)width Height:(CGFloat)height Radius:(CGFloat)radius Offset:(CGFloat)offset{ 

    CGPathMoveToPoint(path, NULL, offset, offset+radius); 
    CGPathAddArcToPoint(path, NULL, offset, offset, offset+radius, offset, radius); 
    CGPathAddLineToPoint(path, NULL, width-radius-offset, offset); 
    CGPathAddArcToPoint(path, NULL, width-offset, offset, width-offset, radius+offset, radius); 
    CGPathAddLineToPoint(path, NULL, width-offset, height-radius-offset); 
    CGPathAddArcToPoint(path, NULL, width-offset, height-offset, width-radius-offset, height-offset, radius); 
    CGPathAddLineToPoint(path, NULL, radius+offset, height-offset); 
    CGPathAddArcToPoint(path, NULL, offset, height-offset, offset, height-radius-offset, radius); 
    CGPathAddLineToPoint(path, NULL, offset, offset+radius); 
} 
+0

и все еще, на самом деле не нужно глубоко в кварце. но добавьте код кварца, увидев ваши комментарии в последнем вопросе – Jing