【问题标题】:How can I take snapshot of the whole context I drew in quartz 2d如何拍摄我在石英 2d 中绘制的整个上下文的快照
【发布时间】:2011-10-17 08:38:56
【问题描述】:

我想对用户单击按钮时将观看的内容进行缩略图预览。或者,如果这不可能,是否可以将上下文缩放到特定大小。 我的上下文当前正在使用全屏,即 1004x768 px 。我希望整个上下文以 300x300 像素出现,而不会失去其身份。

【问题讨论】:

  • 你是上下文位图上下文吗?
  • 不,我的上下文是 CGContextRef context = UIGraphicsGetCurrentContext();
  • 您需要添加更多有问题的信息,说明上下文如何存在、正在做什么......以及您想要更新哪个上下文。如果您只在一个上下文中执行此操作,您可能需要重新考虑您的设计。

标签: iphone ipad core-graphics quartz-graphics quartz-2d


【解决方案1】:

试试这个

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

【讨论】:

    猜你喜欢
    • 2022-07-20
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    相关资源
    最近更新 更多