Objective c 如何生成具有特定分辨率和特定大小(mm)的NSImage图像
我不熟悉objective-c和cocoa编程。我试图生成的图像将是128mm高,128mm宽,分辨率为300 DPI NSString*image=[[NSImage alloc]initWithSize:NSMakeSize(1512756)] 在上述代码中,1512和756行被视为点。所以我不能把它转换成我需要的东西。它正在创建(3024*1512)大小的图像 你能建议点什么吗。。。 提前谢谢 以下是我尝试的代码Objective c 如何生成具有特定分辨率和特定大小(mm)的NSImage图像,objective-c,cocoa,nsimage,nsimagerep,Objective C,Cocoa,Nsimage,Nsimagerep,我不熟悉objective-c和cocoa编程。我试图生成的图像将是128mm高,128mm宽,分辨率为300 DPI NSString*image=[[NSImage alloc]initWithSize:NSMakeSize(1512756)] 在上述代码中,1512和756行被视为点。所以我不能把它转换成我需要的东西。它正在创建(3024*1512)大小的图像 你能建议点什么吗。。。 提前谢谢 以下是我尝试的代码 NSImage *image = [[NSImage alloc] init
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];
你的问题有点让人困惑,因为你说你想要一个正方形的图像(128 x 128毫米),然后试图构建一个矩形的图像(1512 x 756分) 猜测:您可能需要了解
NSImage
和NSImageRep
之间的区别以及它们之间的交互方式。阅读苹果的Cocoa绘图指南,尤其是图像部分。您可能会发现该小节有助于设置图片(没有双关语;-))
你可以阅读的另一个领域是打印——这通常需要生成300dpi的图像
HTH感谢CRD的支持。我的问题是,我想创建一个300 DPI的正方形图像(128 x 128毫米)。就这些。其余的都是我试过的。你能告诉我如何创建一个方形图像(128 x 128毫米)吗?在阅读参考资料和其他材料后,你尝试了什么?编辑问题,以显示您生成的代码等,以及您现在坚持的内容。有了这些信息,也许有人可以帮助你。CRD,我已经添加了我尝试过的内容。您能重温一下吗?
NSImageRep
对size
及其与pixelsHigh
和pixelsWide
的关系有何评论?还有关于它与封闭的NSImage
大小的关系?(提示:保持两个大小相同。)