目的の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. Google WebフォントURLからフォント名を取得する方法URL
- 5. php URLからURLタグを取得する方法
- 6. insta共有URLから直接URLを取得する方法
- 7. URLをJavaでURLから取得する方法
- 8. URLからウェブサイトからデータを取得する方法
- 9. ボタンのIOSイメージサイズ
- 10. FirebaseのストレージからイメージのURLを取得する方法は?
- 11. root firebaseのURLから子の値を取得する方法
- 12. 他のURLのjsonからコンテンツを取得する方法
- 13. iosのuiwebviewからイメージを取得する方法
- 14. ios 8のSOAPからデータを取得する方法
- 15. PickerViewのコアデータからデータを取得する方法は? iOS
- 16. iOSのビデオからフレームを取得する方法
- 17. Sinch iOSからメッセージの履歴を取得する方法は?
- 18. iOSのNSAttributedStringからHTML文字列を取得する方法
- 19. iosシステムメッセージアプリケーションのテキストフィールドからテキストを取得する方法
- 20. iOSのマップピンから位置を取得する方法
- 21. デフォルトアノテーションからロケーション名を取得する方法iOSのMapkit
- 22. iOSのEvernoteノートからテキストを取得する方法
- 23. Webサーバからイメージを取得する方法URLJSのURLパス
- 24. Laravel 5のリクエストからurlパラメータを取得する方法は?
- 25. Open Xava:Open XavaのURLからパラメータを取得する方法は?
- 26. 角度2のURLから値を取得する方法
- 27. メッセージから件名を取得する方法:// OSX SwiftのURL
- 28. 別のURLからgetElementsByClassnameを取得する方法は?
- 29. URL文字列からjavaのパスパラメーターを取得する方法
- 30. ビデオURLからYouTubeのビデオタイトルを取得する方法
設定アップビューを前にイメージをダウンロードしますか? – trojanfoe
イメージのサイズを知る必要はありません。UIImageViewを作成してコンテンツタイプを変更してください(scaletofill、aspectfill、aspectfitなど) –
あなたはイメージをダウンロードするURLからですか?多くのAPIがイメージサービス用に取得されたデータの高さ/幅プロパティを提供します(jsonなど)。APIドキュメントを見ることができます。 – luiyezheng