2

に太い丸い境界線を追加して楕円形にサイズ変更すると、 のスクリーンショットを撮って png として保存すると、UIImageViewの角にスパイクが追加されます。UIImageViewUIImageView

1) 丸枠追加時のデフォルトビュー

丸枠追加時のデフォルトビュー

UIImageView2)楕円形にリサイズ

イメージビューを楕円形にリサイズ

3) スクリーンショットを .png ファイルとして保存した後

スクリーンショットを .png ファイルとして保存した後

スクリーンショットをキャプチャするために次のコードを試しました

-(UIImage *)captureImage
{
     //Capture entire screen
     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     {
         UIGraphicsBeginImageContextWithOptions(appDelegate.templateFlag.view.frame.size, appDelegate.templateFlag.view.opaque, 1.5);
     }
     else
     {
         UIGraphicsBeginImageContextWithOptions(appDelegate.templateFlag.view.frame.size, appDelegate.templateFlag.view.opaque, 2.0);
     }

    [appDelegate.viewController.vwEditorPanel.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

imageDocディレクトリに保存するために使用される次のコード

-(void)saveImage
{        
    NSData *data = [NSData dataWithData:UIImagePNGRepresentation([self captureImage])];

    //Store image in document folder
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,    NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png",self.strProjectId]];
    [data writeToFile:savedImagePath atomically:NO];
}
4

0 に答える 0