Как создать NSImage с определенным разрешением и определенным размером в мм

Я новичок в цели-C и программирование какао. Я пытаюсь создать изображение высотой 128 мм и шириной 128 мм с разрешением 300 точек на дюйм.

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];

1 ответ

Ваш вопрос несколько сбивает с толку, поскольку вы заявляете, что хотите получить квадратное изображение (128 x 128 мм), а затем пытаетесь создать прямоугольное изображение (1512 x 756pts).

Гадание: кажется, вам может понадобиться понять разницу между NSImage и NSImageRep и как они взаимодействуют. Прочитайте руководство Apple по рисованию какао, в частности раздел " Изображения ". Вы можете найти подраздел " Размер изображения и разрешение", чтобы установить картинку (без каламбура;-)).

Другая область, на которой вы можете прочитать, - это печать - для этого часто требуется создание изображений с разрешением 300 точек на дюйм.

НТН

Другие вопросы по тегам