我遇到了保存很多圖像的問題。我正在使用UIGraphicsGetImageFromCurrentImageContext。例如,我的輸入圖像是200kb,輸出圖像只有35 kb。如何保存我的圖像而不損失質量。下面是代碼示例:保存很多圖像時質量下降IOS
BOOL first = YES;
mSavedImage = mImageView.image;
UIGraphicsBeginImageContextWithOptions(mImageView.frame.size, YES, 0.0);
DLog(@" FRAME %@",NSStringFromCGSize(mImageView.frame.size));
DLog(@"%i",mEditingView.subviews.count);
for (NSInteger i = mEditingView.subviews.count-1; i>=0; i--){
if ([[mEditingView.subviews objectAtIndex:i] isKindOfClass:[FSShopItem class]]) {
DLog(@"is shopitem");
FSShopItem *lPrewSubview = [mEditingView.subviews objectAtIndex:i];
FSShopItem *lSubview = nil;
if (first) {
[mImageView.image drawInRect:mImageView.frame];
first = NO;
}
else{
lSubview = [mEditingView.subviews objectAtIndex:i+1];
[lSubview.image drawInRect:lSubview.frame];
}
DLog(@" FRAME %@",NSStringFromCGRect(lPrewSubview.frame));
[lPrewSubview.image drawInRect:lPrewSubview.frame];
}
}
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
UIImage *lImageForLogo = [UIImage imageNamed:@"ipad_logo.png"];
CGRect lRect = CGRectMake(mEditingView.frame.size.width - lImageForLogo.size.width, mEditingView.frame.size.height - lImageForLogo.size.height, lImageForLogo.size.width, lImageForLogo.size.height);
[lImageForLogo drawInRect:lRect];
}
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
UIImage *lImageForLogo = [UIImage imageNamed:@"iphone_logo.png"];
CGRect lRect = CGRectMake(mEditingView.frame.size.width - lImageForLogo.size.width, mEditingView.frame.size.height - lImageForLogo.size.height, lImageForLogo.size.width, lImageForLogo.size.height);
[lImageForLogo drawInRect:lRect];
}
mSavedImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return mSavedImage;
您是否在嘗試使用縮放/平移保存圖像?這是你的目標嗎? – Wain
不,我試圖保存所有圖像我有一張圖片 –