Tôi mới làm ca cao và những gì tôi đang cố gắng làm là thay đổi kích thước một NSImage, nhưng có vẻ như tôi đang làm điều gì sai vì hình ảnh của tôi không bị thay đổi kích thước. Tôi đã xem xét các câu hỏi khác và cách tiếp cận này có vẻ như sẽ hoạt động:Ca cao, khách quan-c cách thay đổi kích thước hình ảnh png?
- (void)scaleIcons:(NSString *)outputPath{
NSImage *anImage;
NSSize imageSize;
NSString *finalPath;
anImage = [self image];
imageSize = [anImage size];
imageSize.width = 512;
imageSize.height = 512;
[anImage setSize:imageSize];
finalPath = [outputPath stringByAppendingString:@"/icon_512x512.png"];
NSData *imageData = [anImage TIFFRepresentation];
NSBitmapImageRep *rep = [NSBitmapImageRep imageRepWithData:imageData];
NSData *dataToWrite = [rep representationUsingType:NSPNGFileType properties:nil];
[dataToWrite writeToFile:finalPath atomically:NO];
}
mọi thứ hoạt động, ngoại trừ việc hình ảnh của tôi không được thu nhỏ. Ai đó có thể giúp một chút?
Cảm ơn cho một trong những câu trả lời giải thích nhất bao giờ hết! Chỉ cần thay đổi dòng này: NSSize outputSize = NSSizeMake (512.0f, 512.0f); với cái này: NSSize outputSize = NSSizeFromString (@ "{512,512}"); – Rokas
NSMakeSize là những gì bạn muốn. NSSizeFromString sẽ thực hiện một chuỗi phân tích chuỗi không cần thiết. –
Cập nhật câu trả lời, một sai lầm được thực hiện từ thực tế là hầu hết kinh nghiệm của tôi là với Cocoa Touch (nơi bạn gọi CGSizeMake (chiều rộng, chiều cao)) ... Hy vọng nó hoạt động cho bạn! – isaac