Реализовать перетаскивание из NSImageView и сохранить изображение в файл - PullRequest
4 голосов
/ 16 октября 2011

Я изучил пример Apple: CocoaDragAndDrop.Я понимаю, как перетащить изображение в NSImageView и перетащить изображение между видами.Тем не менее, я до сих пор не знаю, как перетащить изображение и сохранить его в файл, когда изображение помещается в Finder.

Кто-нибудь может привести пример?

Ответы [ 2 ]

9 голосов
/ 20 октября 2011

Я наконец-то узнал, как это сделать.И я написал демо на Github

0 голосов
/ 16 октября 2011
-(IBAction)saveImageButtonPushed:(id)sender
{
    NSLog(@"saveImageButtonPushed");

    NSBitmapImageRep *rep;
    NSData *data;
    NSImage *image;

    [self lockFocus];
    rep = [[NSBitmapImageRep alloc] initWithFocusedViewRect:[self frame]];
    [self unlockFocus];

    image = [[[NSImage alloc] initWithSize:[rep size]] autorelease];
    [image addRepresentation:rep];

    data = [rep representationUsingType: NSPNGFileType properties: nil];
        //save as png but failed
    [data writeToFile: @"asd.png" atomically: NO];

        //save as pdf, succeeded but with flaw
    data = [self dataWithPDFInsideRect:[self frame]];
    [data writeToFile:@"asd.pdf" atomically:YES];
}
//......
@end
...