繁体   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