UIImage를 UIImagePickerController를 사용하여 가져오고 있습니다. 해당 바이트/바이트 이미지를 바이트 수를 어떻게 계산할 수 있습니까?UIImage를 바이트로 변환
내가 가진 값을 사용자가 할 수 물론 1메가바이트
UIImage를 UIImagePickerController를 사용하여 가져오고 있습니다. 해당 바이트/바이트 이미지를 바이트 수를 어떻게 계산할 수 있습니까?UIImage를 바이트로 변환
내가 가진 값을 사용자가 할 수 물론 1메가바이트
의 크기보다 이미지를 더 추가하지 못할 논리를 만들 것을 사용. UIImage
을 length
속성이있는 NSData
개체로 변환하면 크기가 바이트로 표시됩니다. 그런 다음 원하는 단위로 크기를 쉽게 계산할 수 있습니다. 그래서 예를 들면
: 당신은, 당신이 볼 수
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
if([UIImageJPEGRepresentation(image, 1.0) length]> MAX_SIZE)
{
//Code here
}
}
여기 UIImagePickerController를의 대리자 메서드를 다음에서 이미지 크기를 얻을 수 있습니다
UIImage *img = [UIImage imageNamed:@"some.png"];
NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);
int bytes = [dataObj length];
//convert into whatever unit you need
, 나는 데이터로 이미지를 변환 한 후 [데이터 길이 ] 바이트 길이를 제공 할 수 있습니다.
사용자가 1MB가 넘는 이미지를 업로드하지 못하도록하는 대신 사용자가 생각하는 공간을 절약하기 위해 이미지 크기를 조정하고 압축하여 사용자에게 더 나은 서비스를 제공 할 수 있습니다. 그러나 귀하의 질문에 대답하기 위해, 한 가지 방법은 간단합니다; 나는 그가 좋아하지만 좋은 지적이야 어느 모른다 -
-(void)imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *) info {
NSData *imageData = UIImagePNGRepresentation(image); // Or UIImageJPEGRepresentation
long sizeInBytes = [imageData length];
// do stuff
}
는 또한'UIImagePNGRepresentation (IMG) 물론' – akashivskyy
를 사용할 수 있습니다. +1 – Pripyat
다윗 .. 덕분에. – Tariq