2010-04-21 39 views
8

làm cách nào tôi có thể đọc hình ảnh PNG tới NSImage. Tôi đã thử các cách sau, nhưng khi tôi nhận được chiều rộng và kích thước của hình ảnh tôi nhận được một số giá trị kỳ lạ .. nếu bất kỳ ai có thể trực tiếp tôi trong con đường đúng đắn .. rất thích hợp ..Cách đọc hình ảnh PNG tới NSImage

NSImage * picture = [[NSImage alloc] initWithContentsOfFile: [bundleRoot stringByAppendingString:tString]]; 

NSLog(@"sixe %d %d",picture.size.width, picture.size.height); 
if(picture){ 
    NSLog(@"Picture is not null"); 
}else { 
    NSLog(@"Picture is null."); 
} 

Cảm ơn

+0

Điều này dường như không quan tâm đến kênh alpha trong tệp .png của tôi. Có cách nào để giữ lại điều này không? –

Trả lời

6

Mã của bạn để tải hình ảnh là chính xác.

Mã để hiển thị kích thước không chính xác; Thành viên của NSSize là CGFloat cần được in bằng chuỗi định dạng% f:

NSLog(@"size %f %f",picture.size.width, picture.size.height); 
+0

Thx để trả lời nhanh, bạn có thể cho tôi biết cách chuyển đổi mã bên dưới sang Mac OS X Ứng dụng Iphone -> sử dụng UIKit CGRect rect = CGRectMake (offset.x * scale, offset.y * scale, scale * size .width, scale * size.height); UIGraphicsPushContext (ctx); [image drawInRect: rect]; UIGraphicsPopContext(); – Sam

+1

Hãy xem Hướng dẫn vẽ (http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/CocoaDrawingGuide/GraphicsContexts/GraphicsContexts.html). Nó giải thích làm thế nào để có được một bối cảnh đồ họa và làm thế nào để vẽ hình ảnh. –

2

Sử dụng [NSImage imageNamed:tString]. tString phải là tên tệp cơ sở của tệp hình ảnh; và không cần chứa phần mở rộng tệp.

+0

Thx để trả lời nhanh, bạn có thể cho tôi biết cách chuyển đổi mã bên dưới sang Mac OS X Ứng dụng Iphone -> sử dụng UIKit CGRect rect = CGRectMake (offset.x * scale, offset.y * scale, scale * size .width, scale * size.height); UIGraphicsPushContext (ctx); [image drawInRect: rect]; UIGraphicsPopContext(); – Sam

Các vấn đề liên quan