나는 그림 위에 텍스트를 갖고 싶습니다. 이를 위해 UIImageView 및 UITextView를 사용하여 UIView를 하위 뷰로 만드는 메서드를 작성했습니다. UIView의 그래픽 컨텍스트에서 UIImage를 얻습니다. 카메라 롤에 이미지를 저장하면 정상적으로 작동합니다. 하지만 이미지를 NSData로 변환하고 서버에 업로드 한 다음 NSData를 다운로드하고 UIImage로 다시 변경하면 이미지가 비어있게됩니다. UIImageview와 UITextView를 결합하여 UIImage 만들기
+(UIImage*)imageWithImage:(UIImageView *)sourceImageView addTextFromTextView:(UITextView *)textView {
UIView *parentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[parentView addSubview:sourceImageView];
[parentView addSubview:textView];
[parentView sizeToFit];
UIGraphicsBeginImageContext([parentView bounds].size);
[[parentView layer] drawInContext:UIGraphicsGetCurrentContext()];
UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return outputImage;
}
아래의 코드는 잘 작동하고
UIImageWriteToSavedPhotosAlbum([UIImage imageWithImage:self.imageView addTextFromTextView:self.textView], nil, nil, nil);
그러나 카메라 롤에 대한 올바른 이미지로,이 코드는
NSData *imageData = UIImageJPEGRepresentation([UIImage imageWithImage:self.imageView addTextFromTextView:self.textView], 1.0);
UIImageWriteToSavedPhotosAlbum([UIImage imageWithData:imageData], nil, nil, nil);
나는 감사 카메라 롤에 빈 이미지를 저장하여 사전에 도움을 청하십시오.
예 및 첫 번째 매개 변수로 UIImageJPEGRepresentation 함수에 UIImage를 전달했습니다. [UIImage imageWithImage : self.imageView addTextFromTextView : self.textView]는 코드에서 볼 수있는 것처럼 UIImage를 반환합니다. – Subash