-1

私はobjective-cとcocoaプログラミングが初めてです。高さ 128mm、幅 128mm、解像度 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];
4

1 に答える 1