2010-09-26 35 views
5

Có cách nào để đặt đường viền thành UIImage không. Tôi biết cách đặt nó cho UIImageView, nhưng vấn đề của tôi là UIImage mà tôi tải lên trong UIImageview sẽ không có cùng kích thước hoặc tỷ lệ khung hình như UIImageView. Do đó Ive giữ chế độ UIImageView để phù hợp với khía cạnh. Việc tạo đường viền cho UIImageView giờ đây sẽ biên giới toàn bộ UIImageView thay vì chỉ là UIImage và điều đó không tốt khi UIImage không có cùng kích thước hoặc tỷ lệ khung hình như UIV.Đặt đường viền UIImage

Trợ giúp?

Trả lời

3

Có một số giải pháp trong câu hỏi này: How can i take an UIImage and give it a black border?

+0

Hai vấn đề ở đây. Câu hỏi khác đó là hiển thị trực tiếp UIImage, không sử dụng UIImageView. Ngoài ra, giải pháp tốt nhất đặt đường viền xung quanh khung của UIImageView, chứ không phải hình ảnh được trang bị khía cạnh trong UIImageView. –

+0

Trên thực tế, câu hỏi khác là tương tự, nó chỉ là câu trả lời phổ biến ở đó mà không giúp đỡ ở đây. –

0
image with border 

+(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,(255/255.f),(255/255.f),(255/255.f), 1.0); 
    CGContextStrokeRect(context, rect); 
    UIImage *testImg = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return testImg; 
} 
+0

Tôi làm cách nào để đặt chiều rộng đường viền? – alexmorhun

1
#import <QuartzCore/CALayer.h> 


UIImageView *imageView = [UIImageView alloc]init]; 
imageView.layer.masksToBounds = YES; 
imageView.layer.borderColor = [UIColor blackColor].CGColor; 
imageView.layer.borderWidth = 1; 
imageView.layer.cornerRadius = 10; //optional 
Các vấn đề liên quan