簡體   English   中英

如何使用SDWebImage獲取縮略圖?

[英]How to get thumbnail image using SDWebImage?

在用戶選擇圖像之前,我不希望從服務器下載圖像。 我想顯示圖像的縮略圖。 如何獲取縮略圖? 我可以使用服務器上的URL下載完整圖像。

如果服務器上的圖像約為1MB,如何獲取其縮略圖版本?

有兩種方法可以實現您的目標:

方法1:

您無法獲取縮略圖。 如果文件大小為1 MB,則必須使用SDWebImage下載。 下載完成后,創建圖像縮略圖。 現在您可以刪除1MB的圖像。

創建縮略圖的代碼:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToFillSize:(CGSize)size
{

CGFloat scale = MAX(size.width/image.size.width, size.height/image.size.height);
CGFloat width = image.size.width * scale;
CGFloat height = image.size.height * scale;
CGRect imageRect = CGRectMake((size.width - width)/2.0f,
                              (size.height - height)/2.0f,
                              width,
                              height);

UIGraphicsBeginImageContextWithOptions(size, NO, 0);
[image drawInRect:imageRect];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
UIGraphicsEndImageContext();
return newImage;
}

方式2:

在服務器端,您必須保留圖像原始圖像和縮略圖。 因此,首先使用SDWebImage加載縮略圖。 當用戶單擊縮略圖時,使用SDWebImage從服務器獲取原始圖像。

您無法通過ios device對服務器進行更改。 您可以將數據放入服務器或從中獲取數據。 因此,如果大圖像存儲在服務器上,則無法從ios使其縮略圖。 您只需下載它,一旦圖像進入設備,就可以根據需要進行修改。

因此,將同一映像的兩個副本保存到服務器是一種更好的方法,從服務器端來講這並不是一件艱巨的任務。 :)

當您具有絕對URL且僅想使用SDWebImage顯示圖像時。

使用以下代碼

SDWebImageManager *manager = [SDWebImageManager sharedManager];
    [manager downloadImageWithURL:[NSURL URLWithString:strDisplayURL]
                          options:0
                         progress:^(NSInteger receivedSize, NSInteger expectedSize) {
                             // progression tracking code
                         }
                        completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {

                            if (image)
                            {

                              dispatch_async(dispatch_get_main_queue(), ^{

                                    profileImageView.image = image;

                                });

                            }

                        }];

使用圖像模式。

在此處輸入圖片說明

並將角半徑設為圖像視圖高度或寬度的一半。 因此它將變成圓形圖像視圖。

暫無
暫無

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

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