2012-11-30 9 views
5

私はSDWebImage(2.7.3フレームワーク)を使用していますが、壊れた画像が表示されています。コードは(メモリ...)SDWebImage画像が壊れています

(ノートの場合: 私は、フレームワークの代わりにSDWebImageプロジェクトを使用して同じエラーが出る 私は「自動解放」とメモリ管理の他の種類を実装しています この問題。ではなく、

enter image description hereenter image description here

__block CALayer *layerCover = [[CALayer alloc] init]; 
    layerCover.frame = CGRectMake(3, 3, COVER_WIDTH_IPAD_SMALL, COVER_HEIGHT_IPAD_SMALL); 
    [btn.layer addSublayer:layerCover]; 

    [_scroll addSubview:btn]; 
    [btn release]; 

    //request or load Vods Images 
    [[SDWebImageManager sharedManager] downloadWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@M", vod.cover]] 
               delegate:self options:SDWebImageProgressiveDownload success:^(UIImage *image, BOOL cached) { 
                if (image) { 
                 layerCover.contents = (id)image.CGImage; 
                } 
                [layerCover release]; 
               } failure:^(NSError *error) { 
                [layerCover release]; 
               }]; 

//別の種類)のシミュレータで(iPadの)デバイス上で発生する

enter image description here

UIImage * imageTv = [UIImage imageNamed:@"bgDefaultTvImage.png"]; 
UIImageView * bgTvImage = [[UIImageView alloc] initWithFrame:CGRectMake(startX, 20, imageTv.size.width, imageTv.size.height)]; 
[bgTvImage setImage:imageTv]; 

CGFloat sizeWithIcon = imageTv.size.width; 
CGFloat sizeHeightIcon = imageTv.size.height; 
__block UIImageView * bgImageicon = [[UIImageView alloc] initWithFrame:CGRectMake((bgTvImage.frame.size.width-sizeWithIcon)/2, 
                      (bgTvImage.frame.size.height-sizeHeightIcon)/2, 
                      sizeWithIcon, 
                      sizeHeightIcon)]; 
bgImageicon.contentMode = UIViewContentModeScaleAspectFit; 
[bgTvImage addSubview:bgImageicon]; 
[tvTopView addSubview:bgTvImage]; 

/* 
* Request ProgramImage 
*/ 
[[SDWebImageManager sharedManager] downloadWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@&width=300",program.ProgramImage.imageURL]] 
               delegate:self options:SDWebImageProgressiveDownload success:^(UIImage *image, BOOL cached) { 
                if (image) { 
                 iconCanal = image; 
                 [bgImageicon setImage:iconCanal]; 
                } 
                [bgImageicon release]; 
               }failure:^(NSError *error) { 
                [bgImageicon release]; 
               }]; 

Xcodeのログ:

<Error>: ImageIO: JPEG Corrupt JPEG data: bad Huffman code 
<Error>: ImageIO: JPEG Corrupt JPEG data: premature end of data segment 
+0

私はちょうど同じ問題に「パス」アプリケーションを見た... – silvaric

+0

は、このためのソリューションをお見つけましたか? – hgoz

+0

いいえ、しかし時々起こる – silvaric

答えて

0

SDWebImageProgressiveDownloadフラグの問題のようです。このような例のために、それを無効にしてください:

[[SDWebImageManager sharedManager] downloadWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@&width=300",program.ProgramImage.imageURL]] 
              delegate:self options:0 success:^(UIImage *image, BOOL cached) { 
               if (image) { 
                iconCanal = image; 
                [bgImageicon setImage:iconCanal]; 
               } 
               [bgImageicon release]; 
              }failure:^(NSError *error) { 
               [bgImageicon release]; 
              }]; 
+0

私は変わったが等しい... :( – silvaric

関連する問題