iPhone imageview打印屏幕-从imageview创建新图像

| 我可以通过编程方式制作一个ImageView的打印屏幕吗? 假设我要显示的是大尺寸的照片,它们是自动缩放(AspectFit)到屏幕尺寸,居中且带有黑色背景的。我想捕获包括黑色imageview背景的缩放图像,以使用320x480图像。 那么如何将例如350x600的图像更改为具有黑色边框且没有任何其他元素(按钮,标签)覆盖此imageview的320x480?在Android上,我只是捕获屏幕缓冲区,但对于iPhone,我真的不知道该怎么做... 提前致谢!     
已邀请:
UIGraphicsBeginImageContext(<specify your size here as CGRect>);
[<yourImageView or view you want to convert in image>.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
输出
viewImage
。因为您想要一个黑色边框,所以可以有这样的逻辑,在UIView中添加
imageView
,将
blackBackroundColor
设为黑色(请记住,该视图的框架应大于imageView的框架,并且每边都有一定的余量,因此这样就可以有边框了。.......现在在
[<yourView>.layer renderInContext:UIGraphicsGetCurrentContext()];
中使用此方法。     
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(320, 480), NO, 0.0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [self.view.layer renderInContext:context];
    yourImageViewToStoreCaptured = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
希望这可以帮助。     
-(IBAction)saveViewToPhotoLibrary:(id)sender 
{
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    UIGraphicsBeginImageContext(screenRect.size);

    CGContextRef ctx = UIGraphicsGetCurrentContext();
    [[UIColor blackColor] set];
    CGContextFillRect(ctx, screenRect);

    [self.view.layer renderInContext:ctx];

    UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();
    UIImageWriteToSavedPhotosAlbum(screenImage,nil,nil,nil);                                         
    //fill cordinat in place of nil if u want only image comes and not button......ok thanks vijay// 
    UIGraphicsEndImageContext();    
}
    

要回复问题请先登录注册