Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何生成具有特定分辨率和特定大小(mm)的NSImage图像_Objective C_Cocoa_Nsimage_Nsimagerep - Fatal编程技术网

Objective c 如何生成具有特定分辨率和特定大小(mm)的NSImage图像

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

我不熟悉objective-c和cocoa编程。我试图生成的图像将是128mm高,128mm宽,分辨率为300 DPI

NSString*image=[[NSImage alloc]initWithSize:NSMakeSize(1512756)]

在上述代码中,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];

你的问题有点让人困惑,因为你说你想要一个正方形的图像(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
大小的关系?(提示:保持两个
大小相同。)