NSData 및 UIImage
UIImage
에서 객체 를로드하려고하는데 NSData
샘플 코드가으로 NSImage
되었으므로 동일해야한다고 생각합니다. 하지만 이제 이미지를로드하는 중, UIImage
로드 NSData
문제 를 해결하는 데 가장 좋은 방법이 무엇인지 궁금합니다 .
UIImage에는- initWithData:
메소드가 있습니다. 문서에서 : "데이터 매개 변수의 데이터는 시스템에서 지원되는 이미지 유형 중 하나의 파일 형식과 일치하도록 형식화되어야합니다."
나는 시도하지 않았다 UIImageJPEGRepresentation()
전에,하지만 UIImagePNGRepresentation
나를 위해 잘 작동하고, 간의 변환 NSData
및 UIImage
죽은 간단하다 :
NSData *imageData = UIImagePNGRepresentation(image);
UIImage *image=[UIImage imageWithData:imageData];
이미지를 NSdata로 변환하려면 다음을 시도하십시오.
UIImage *img = [UIImage imageNamed:@"image.png"];
NSData *data1 = UIImagePNGRepresentation(img);
theData는 NSData
이미 데이터를 포함하고 있는 객체 여야합니다 . NSData
개체를 사용하기 전에 파일로드 / 다운로드를 수행해야합니다 . NSLog
on theData 를 사용하여 검사 하고 유효한 데이터가 포함되어 있는지 확인할 수 있습니다.
코드를 안전하게 실행하려면 함수 UIImagePNGRepresentation이 옵션 값을 반환하므로 데이터와 함께 if-let 블록을 사용하십시오.
if let img = UIImage(named: "Hello.png") {
if let data:Data = UIImagePNGRepresentation(img) {
// Handle operations with data here...
}
}
참고 : 데이터 는 Swift 3 클래스입니다. Swift 3에서 NSData 대신 데이터 사용
일반 이미지 작업 (예 : png 및 jpg 둘 다) :
if let img = UIImage(named: "Hello.png") {
if let data:Data = UIImagePNGRepresentation(img) {
handleOperationWithData(data: data)
} else if let data:Data = UIImageJPEGRepresentation(img, 1.0) {
handleOperationWithData(data: data)
}
}
*******
func handleOperationWithData(data: Data) {
// Handle operations with data here...
if let image = UIImage(data: data) {
// Use image...
}
}
확장을 사용하여 :
extension UIImage {
var pngRepresentationData: Data? {
return UIImagePNGRepresentation(img)
}
var jpegRepresentationData: Data? {
return UIImageJPEGRepresentation(self, 1.0)
}
}
*******
if let img = UIImage(named: "Hello.png") {
if let data = img.pngRepresentationData {
handleOperationWithData(data: data)
} else if let data = jpegRepresentationData {
handleOperationWithData(data: data)
}
}
*******
func handleOperationWithData(data: Data) {
// Handle operations with data here...
if let image = UIImage(data: data) {
// Use image...
}
}
참고 URL : https://stackoverflow.com/questions/257400/nsdata-and-uiimage
'UFO ET IT' 카테고리의 다른 글
해결 실패 : com.android.support:appcompat-v7:27. + (종속성 오류) (0) | 2020.12.02 |
---|---|
JDK 1.8 (C : \…)에 연결된 IDEA 주석이 없습니다. 일부 문제가 발견되지 않습니다. (0) | 2020.12.02 |
플랫 원시 디스크 이미지를 virtualbox 또는 vmplayer 용 vmdk로 변환하는 방법은 무엇입니까? (0) | 2020.12.02 |
UIGestureRecognizer에 기존 터치를 취소하도록 어떻게 알릴 수 있습니까? (0) | 2020.12.02 |
파일 문서를 프린터로 보내고 인쇄하려면 어떻게해야합니까? (0) | 2020.12.02 |