iOS 에서 개발 한 image 그림 압축 및 지정 한 크기 로 압축 하 는 두 가지 방법
///
+ (NSData *)imageCompressToData:(UIImage *)image{
NSData *data=UIImageJPEGRepresentation(image, 1.0);
if (data.length>300*1024) {
if (data.length>1024*1024) {//1M
data=UIImageJPEGRepresentation(image, 0.1);
}else if (data.length>512*1024) {//0.5M-1M
data=UIImageJPEGRepresentation(image, 0.5);
}else if (data.length>300*1024) {//0.25M-0.5M
data=UIImageJPEGRepresentation(image, 0.9);
}
}
return data;
}
ps:iOS 의 그림 을 지정 한 크기 로 압축 합 니 다.iOS 에서 저 희 는 메모 리 를 절약 하기 위해 그림 을 처리 하고 프로그램 을 최적화 시 키 며 프로그램의 효율 을 높 여야 합 니 다.다음은 자신의 요구 에 따라 그림 의 크기 를 다시 설정 하 는 것 입 니 다.
1.그림 을 압축 하 는 방법 은 두 가지 가 있 는데 첫 번 째 는 그림 의 크기 를 압축 하고 그림 의 사 이 즈 를 다시 만 드 는 것 이다.다음 과 같다.
/**
*
*
* @param image
* @param size
*
* @return
*/
-(UIImage *)compressOriginalImage:(UIImage *)image toSize:(CGSize)size{
UIImage * resultImage = image;
UIGraphicsBeginImageContext(size);
[resultImage drawInRect:CGRectMake(00, 0, size.width, size.height)];
UIGraphicsEndImageContext();
return image;
}
2.두 번 째 는 그림 의 파일 크기 를 수정 하 는 것 입 니 다.다음 과 같 습 니 다.
/**
*
*
* @param image
* @param size ( )
*
* @return
*/
- (NSData *)compressOriginalImage:(UIImage *)image toMaxDataSizeKBytes:(CGFloat)size{
NSData * data = UIImageJPEGRepresentation(image, 1.0);
CGFloat dataKBytes = data.length/1000.0;
CGFloat maxQuality = 0.9f;
CGFloat lastData = dataKBytes;
while (dataKBytes > size && maxQuality > 0.01f) {
maxQuality = maxQuality - 0.01f;
data = UIImageJPEGRepresentation(image, maxQuality);
dataKBytes = data.length / 1000.0;
if (lastData == dataKBytes) {
break;
}else{
lastData = dataKBytes;
}
}
return data;
}
이것 은 그림 을 압축 하 는 두 가지 방식 이다.총결산
위 에서 말씀 드 린 것 은 편집장 님 께 서 소개 해 주신 iOS 에서 개발 한 이미지 사진 을 압축 하고 지 정 된 크기 로 압축 하 는 두 가지 방법 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.