Как я могу сделать снимок всего контекста, который я нарисовал в кварце 2d - PullRequest
0 голосов
/ 17 октября 2011

Я хочу сделать миниатюру предварительного просмотра того, что пользователь будет смотреть при нажатии кнопки. Или, если это невозможно, возможно ли масштабировать контекст до определенного размера. Мой контекст в настоящее время использует полный экран, т.е. 1004x768 px. И я хочу, чтобы весь этот контекст имел размер 300x300 пикселей, не теряя своей идентичности.

1 Ответ

0 голосов
/ 17 октября 2011

Попробуйте это

             UIGraphicsBeginImageContext(CGSizeMake(self.view.frame.size.height, self.view.frame.size.width));

            [self.view.layer renderInContext:UIGraphicsGetCurrentContext() ];
            UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
            NSLog(@"Screen Shot : %@",screenshot);
            UIGraphicsEndImageContext();


            // ATTACHING A SCREENSHOT
            NSData *myData = UIImagePNGRepresentation(screenshot);

            NSDate *date = [NSDate date];

            NSDateFormatter *df = [[NSDateFormatter alloc] init];
            [df setDateFormat:@"mm:ss"];
        NSString *timestamp = [df stringFromDate:date];
            NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
            NSString *fullImagePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"Image_%@.png",timestamp]];
        NSLog(@"TimeStamp = %@",timestamp);

            NSLog(@"Image Path : %@",fullImagePath);
            [myData writeToFile:fullImagePath atomically:YES];
...