iOs Печать моего текущего экрана - PullRequest
4 голосов
/ 15 февраля 2012

В настоящее время я работаю над приложением Paint для iPhone и iPad.Я хочу напечатать текущий экран (рисунок) экрана.Может ли какое-либо тело помочь мне в этом случае?

Вот код, который я использовал до сих пор,

-(void)printImage { 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"micky" ofType:@"png"];
    NSData *dataFromPath = [NSData dataWithContentsOfFile:path];

    UIPrintInteractionController *pCon = [UIPrintInteractionController sharedPrintController];

    if(pCon && [UIPrintInteractionController canPrintData:dataFromPath]) {
        pCon.delegate = self;   
        UIPrintInfo *printInfo = [UIPrintInfo printInfo];
        printInfo.outputType = UIPrintInfoOutputGeneral;
        printInfo.jobName = [path lastPathComponent];
        printInfo.duplex = UIPrintInfoDuplexLongEdge;
        pCon.printInfo = printInfo;
        pCon.showsPageRange = YES;
        pCon.printingItem = dataFromPath;

        void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
            if (!completed && error) {
                NSLog(@"Unsuccessfull %@ error%u", error.domain, error.code);
            }
        };

        [pCon presentAnimated:YES completionHandler:completionHandler];

    } 
}

Опять же, все, что я хочу знать, это то, что я должен иметь возможность печатать текущее окно (чертеж, экран) вместоИзображение Micky.png (как в коде)

1 Ответ

3 голосов
/ 15 февраля 2012

Этот код делает снимок экрана текущего представления и выводит UIImage этого:

UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:context];
UIImage *imageFromCurrentView = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...