Вопрос

Я пытаюсь пометить файл изображения датой в Какао и пытаюсь сделать это с помощью небольшого инструмента командной строки. Это работает нормально ... но я не могу установить цвет. Я что-то не так делаю?

#import <Cocoa/Cocoa.h>

int main (int argc, const char * argv[]) {
    [NSApplication sharedApplication];
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    NSImage *image = [[NSImage alloc] initWithContentsOfFile:
                [NSString stringWithFormat:@"%s", "/some/file.png"]];

    if (image) {
        [image lockFocus];
        NSColor *color = [NSColor whiteColor];
        // THESE DOESN'T SEEM TO WORK...
        [color set];
        [color setStroke];
        [color setFill];
        NSString *string = [NSString stringWithFormat:@"%@", [NSDate date]];
        [string drawAtPoint:NSMakePoint(10, 10) withAttributes:nil];
        [image unlockFocus];

        NSBitmapImageRep *bits = [NSBitmapImageRep imageRepWithData:
                                    [image TIFFRepresentation]];

        NSData *data = [bits representationUsingType:NSPNGFileType 
                                          properties:nil];

        [data writeToFile:@"/some/file.png"
               atomically:NO];
    }
    [pool drain];
    return 0;
}
Это было полезно?

Решение

Я считаю, что вам нужно установить цвет текста, используя атрибут NSForegroundColorAttributeName в drawAtPoint: withAttributes: call, а не setStroke / setFill.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top