簡體   English   中英

SDWebImage,setImageWithUrl無法在imageView上顯示圖像

[英]SDWebImage ,setImageWithUrl can't show the image on the imageView

- (void)xuanquButtonClicked:(JohnButtonLong*)button
{
    _picker = [[UIImagePickerController alloc] init];
    if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
        JLActionManager * manager = [JLActionManager sharedInstance];
        [manager showAndHideHUDWithTitle:nil detailText:@"親,您的相冊無法打開" inView:self.view];
        return;

    }
    _picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    _picker.allowsEditing = YES;
    _picker.delegate = self;
    [self presentViewController:_picker animated:YES completion:^{

    }];
}

#pragma mark - UIIMagePickerController delegate Methods
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{

    [picker dismissViewControllerAnimated:YES completion:^{

    }];
    // 如果沒有選取 使用默認頭像
    _strHeadPic = @"";
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [picker dismissViewControllerAnimated:YES completion:^{

    }];
    // 選取了某個頭像
    UIImage * image = [info objectForKey:UIImagePickerControllerOriginalImage];
    _img_touxiang.image = image;
    //壓縮圖像
    image = [self OriginImage:image scaleToSize:CGSizeMake(160, 160)];
    NSData * img_data = UIImageJPEGRepresentation(image, 0.5);

    //進行base64編碼
    NSData * data = [GTMBase64 encodeData:img_data];
    _strHeadPic = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

}

//  壓縮成指定大小
-(UIImage*) OriginImage:(UIImage *)image scaleToSize:(CGSize)size{

    UIGraphicsBeginImageContext(size);

    // 繪制改變大小的圖片
    [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
    // 從當前context中創建一個改變大小后的圖片
    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();// 是當前的context出對戰

    // 返回新的改變大小后的圖片
    return scaledImage;

}

UnitMyInfo * myInfo = GetMyInfo;
[_img_touxiang setImageWithURL:[NSURL URLWithString:BaseImgURL(myInfo.umi_URL)] placeholderImage:[UIImage imageNamed:@"default_headImg.jpg"]];
//  First You have to get Url from Image then set url On SDWebImages.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img  editingInfo:(NSDictionary *)editingInfo
{
    [picker dismissModalViewControllerAnimated:YES];
    NSURL *imagePath = [editingInfo objectForKey:@"UIImagePickerControllerReferenceURL"];
    NSString *imageName = [imagePath lastPathComponent];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *localFilePath = [documentsDirectory stringByAppendingPathComponent:imageName];
    NSLog(@"localFilePath.%@",localFilePath);  
}

//Set Image On SDWebView.
[imageView setImageWithURL:[NSURL URLWithString:localFilePath] placeholderImage:[UIImage imageNamed:@"default_headImg.jpg"]];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM