2016-03-27 2 views
0

Im, используя следующие для отображения JPG на представлении в DrawRect следующимIOS Objective C Draw Bitmap на View

- (void)drawRect:(CGRect)rect 
{ 

UIImage *anImage2 = [UIImage imageNamed:@"imagetest.jpg"]; 
CGRect imageFrame = CGRectMake(440,140, 140, 187); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
CGContextSaveGState(ctx); 
CGPathRef clippath = [UIBezierPath bezierPathWithRoundedRect:imageFrame cornerRadius:30].CGPath; 
CGContextAddPath(ctx, clippath); 
CGContextClip(ctx); 
[anImage2 drawInRect:imageFrame]; 
CGContextRestoreGState(ctx); 
} 

Это отлично работает, однако мне нужно, чтобы загрузить изображение из песочницы. Если изменить код следующего

- (void)drawRect:(CGRect)rect 
{ 
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *pngFilePath = [NSString stringWithFormat:@"%@/%@", docDir, @"imagetest.jpg"];  
UIImage *anImage2 = [UIImage imageNamed: pngFilePath]; 
CGRect imageFrame = CGRectMake(440,140, 140, 187); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
CGContextSaveGState(ctx); 
CGPathRef clippath = [UIBezierPath bezierPathWithRoundedRect:imageFrame cornerRadius:30].CGPath; 
CGContextAddPath(ctx, clippath); 
CGContextClip(ctx); 
[anImage2 drawInRect:imageFrame]; 
CGContextRestoreGState(ctx); 
} 

Сейчас ничего не показывает вверх

Я проверил и путь изображения правильно и файл существует и он же JPG, который в комплекте, поэтому я могу Не поймите, где я ошибаюсь

Любые идеи?

Марк

ответ

1

[UIImage imageNamed] не принимает путь к изображению, он принимает только имя изображения. Попробуйте [UIImage imageWithContentsOfFile:]. Документы Apple утверждают, что этот метод «создает и возвращает объект изображения, загружая данные изображения из файла по указанному пути».

+0

Спасибо за помощь, я попробовал UIImage * anImage2 = [UIImage imageWithContentsOfFile: pngFilePath]; но он все еще ничего не показывает –

+0

извините Slog of pngFilePath показывает путь как /var/mobile/Containers/Data/Application/EE7716E4-6514-4348-B991-AB779E29DF39/Documents/imagetest.jpg, когда я проверяю, является ли этот файл существует –

+0

Это не в моей голове, поэтому я сожалею, если это не на 100% правильно. (Извините за плохое форматирование, на моем iPhone) 'NSString * docDir = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0]; NSString * pngFilePath = [docDir stringByAppendingPathComponent: [NSString stringWithString: @ "imagetest.jpg"]]; UIImage * anImage2 = [UIImage imageWithContentsOfFile: pngFilePath]; ' – fsb