我是 Objective-C 和可可编程的新手。我正在尝试生成高度为 128 毫米、宽度为 128 毫米、分辨率为 300 DPI 的图像。
NSString *image = [[NSImage alloc] initWithSize:NSMakeSize(1512, 756)];
在上面的代码行中,1512 和 756 被视为点。所以我无法将它转换为我需要的东西。它正在创建 (3024 * 1512) 大小的图像。
你能提出一些建议吗?在此先感谢。
这是我尝试过的代码
NSImage *image = [[NSImage alloc] initWithSize:NSMakeSize(2268, 2268)];
[image lockFocus];
// Draw Something
[image unlockFocus];
NSString* pathh = @"/Users/abcd/Desktop/Images/1234.bmp";
CGImageRef cgRef = [image CGImageForProposedRect:NULL
context:nil
hints:nil];
NSBitmapImageRep *newRep = [[NSBitmapImageRep alloc] initWithCGImage:cgRef];
NSSize copySize; // To change to 600 DPI
copySize.width = 600 * [newRep pixelsWide] / 72.0;
copySize.height = 600 * [newRep pixelsWide] / 72.0;
[newRep setSize:copySize]; //This input is not working
NSData *pngData = [newRep representationUsingType:NSBMPFileType properties:nil];
[pngData writeToFile:pathh atomically:YES];