目的のCのURLから画像のサイズ(高さ/幅)を取得するにはどうすればよいですか?画像に合わせてコンテナのサイズが必要です。私は使用しています SDWebImage
私の要件を満たす場合は使用することができます。iosのURLからイメージサイズを取得する方法
答えて
あなたは次のように試すことができます:あなたのメインスレッドに影響を与えずに画像をdowloadするためのiOSでのGCDと呼ば
NSData *data = [[NSData alloc]initWithContentsOfURL:URL];
UIImage *image = [[UIImage alloc]initWithData:data];
CGFloat height = image.size.height;
CGFloat width = image.size.width;
これは同期的な方法です。それはデータを取得するまでUIをスタックします。 –
使用非同期メカニズム。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Download IMAGE using URL
NSData *data = [[NSData alloc]initWithContentsOfURL:URL];
// COMPOSE IMAGE FROM NSData
UIImage *image = [[UIImage alloc]initWithData:data];
dispatch_async(dispatch_get_main_queue(), ^{
// UI UPDATION ON MAIN THREAD
// Calcualte height & width of image
CGFloat height = image.size.height;
CGFloat width = image.size.width;
});
});
私は実際にダウンロードしていません。私はAFNetworkingのようなキャッシュを使用しています [imageView setImageForState:UIControlStateNormal withURL:[NSURL URLWithString:object]プレースホルダーイメージ:[UIImage imageNamed:@ "DefaultProductImage"]]; –
画像を実際に読み込む前に画像のサイズを知ることは、多くの場合に必要になる場合があります。たとえば、実際の画像をcellForRowAtIndexPathの後ろにロードしているときに、heightForRowAtIndexPathメソッド内のtableViewセルの高さを設定します(これは非常に頻繁なキャッチ22です)。
それを行うための一つの簡単な方法、画像I/Oインタフェースを使用してサーバのURLからイメージヘッダーを読むことです:
#import <ImageIO/ImageIO.h>
NSMutableString *imageURL = [NSMutableString stringWithFormat:@"http://www.myimageurl.com/image.png"];
CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)[NSURL URLWithString:imageURL], NULL);
NSDictionary* imageHeader = (__bridge NSDictionary*) CGImageSourceCopyPropertiesAtIndex(source, 0, NULL);
NSLog(@"Image header %@",imageHeader);
NSLog(@"PixelHeight %@",[imageHeader objectForKey:@"PixelHeight"]);
- 1. IOSのURLからデータを取得する方法
- 2. AS3のバイト配列からGIFイメージサイズの寸法を取得する方法は?
- 3. Javascriptのextern URLからロードするときにイメージサイズを取得する
- 4. URLをJavaでURLから取得する方法
- 5. Google WebフォントURLからフォント名を取得する方法URL
- 6. FirebaseのストレージからイメージのURLを取得する方法は?
- 7. 他のURLのjsonからコンテンツを取得する方法
- 8. iosのuiwebviewからイメージを取得する方法
- 9. iOSのEvernoteノートからテキストを取得する方法
- 10. ios 8のSOAPからデータを取得する方法
- 11. デフォルトアノテーションからロケーション名を取得する方法iOSのMapkit
- 12. iOSのNSAttributedStringからHTML文字列を取得する方法
- 13. iOSのマップピンから位置を取得する方法
- 14. PickerViewのコアデータからデータを取得する方法は? iOS
- 15. iosシステムメッセージアプリケーションのテキストフィールドからテキストを取得する方法
- 16. Sinch iOSからメッセージの履歴を取得する方法は?
- 17. iOSのビデオからフレームを取得する方法
- 18. 任意のHTTPS URLからX509Certificateを取得する方法は?
- 19. 現在のURLからパラメータを取得する方法
- 20. 角度2のURLから値を取得する方法
- 21. 通知メール内のリンクからURLを取得する方法
- 22. Node.js/ExpressのURLからJSONオブジェクトを取得する方法
- 23. laravel 5.3のURLからルートプレフィックス名を取得する方法
- 24. 、ビュー内のURLからノードIDを取得する方法は?
- 25. データを取得する方法PHPのURL値パラメータ$ _GETから
- 26. Laravel 5のリクエストからurlパラメータを取得する方法は?
- 27. ColdFusionのURLからクエリ文字列を取得する方法
- 28. 別のURLからgetElementsByClassnameを取得する方法は?
- 29. URL文字列からjavaのパスパラメーターを取得する方法
- 30. Open Xava:Open XavaのURLからパラメータを取得する方法は?
設定アップビューを前にイメージをダウンロードしますか? – trojanfoe
イメージのサイズを知る必要はありません。UIImageViewを作成してコンテンツタイプを変更してください(scaletofill、aspectfill、aspectfitなど) –
あなたはイメージをダウンロードするURLからですか?多くのAPIがイメージサービス用に取得されたデータの高さ/幅プロパティを提供します(jsonなど)。APIドキュメントを見ることができます。 – luiyezheng