ImageScout alternatives and similar libraries
Based on the "Images" category.
Alternatively, view ImageScout alternatives based on common mentions on social networks and blogs.
-
SwiftGen-Assets
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs! -
GPUImage 2
GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. -
SkyFloatingLabelTextField
A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift. -
GPUImage 3
GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. -
Brightroom
DISCONTINUED. 📷 A composable image editor using Core Image and Metal. [Moved to: https://github.com/FluidGroup/Brightroom] -
CTPanoramaView
A library that displays spherical or cylindrical panoramas with touch or motion based controls. -
FMPhotoPicker
A modern, simple and zero-dependency photo picker with an elegant and customizable image editor -
AXPhotoViewer
An iOS/tvOS photo gallery viewer, useful for viewing a large (or small!) number of photos. -
PassportScanner
Scan the MRZ code of a passport and extract the firstname, lastname, passport number, nationality, date of birth, expiration date and personal numer. -
Harbeth
🎨 GPU accelerated image / video and camera filter library based on Metal. Support macOS & iOS. 图像、视频、相机滤镜框架 -
JLStickerTextView
add text(multiple line support) to imageView, edit, rotate or resize them as you want, then render the text on image -
XAnimatedImage
XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage -
UIImageView-BetterFace-Swift
DISCONTINUED. autoresize images and if any face discovered refine the position of the image. -
SwiftDraw
Swift library and command line tool to convert SVGs into SFSymbol, PNG, PDF and Swift source code. -
KFSwiftImageLoader
An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and Watch. -
MCScratchImageView
A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below. -
FacebookImagePicker
DISCONTINUED. FacebookImagePicker is Facebook album photo picker written in Swift. -
DTPhotoViewerController
A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of ImageScout or a related project?
README
ImageScout
ImageScout is a Swift implementation of fastimage. It allows you to find the size and type of a remote image by downloading as little as possible.
Why?
Sometimes you need to know the size of a remote image before downloading it, such as
using a custom layout in a UICollectionView
.
How?
ImageScout parses the image data as it is downloaded. As soon as it finds out the size and type of image, it stops the download. The downloaded data is below 60 KB in most cases.
Install
Swift Package Manager
Add the following to your Package.switft
file:
let package = Package(
dependencies: [
.package(url: "https://github.com/kaishin/ImageScout.git", from: "2.1.0")
],
)
Carthage
- Add the following to your Cartfile:
github "kaishin/ImageScout"
- Then run
carthage update
- Follow the current instructions in Carthage's README for up to date installation instructions.
CocoaPods
- Add the following to your Podfile:
pod 'ImageScout'
- You will also need to make sure you're opting into using frameworks:
use_frameworks!
- Then run
pod install
with CocoaPods 1.0 or newer.
Usage
The only method you will be using is scoutImageWithURI()
, with the following full signature:
func scoutImageWithURI(URI: String, completion: (NSError?, CGSize, ScoutedImageType) -> ())
Here's an example:
let scout = ImageScout()
scout.scoutImageWithURI("http://.../image-scout-logo.png") { error, size, type in
if let error = error {
print(error.code)
} else {
print("Size: \(size)")
print("Type: \(type.rawValue)")
}
}
If the image is not successfully parsed, the size is going to be CGSizeZero
and the type .Unsupported
. The error will contain more info about the reason:
- Error code 100: Invalid URI parameter.
- Error code 101: Image is corrupt or malformatted.
- Error code 102: Not an image or unsopported image format URL.
⚠️ It's important to keep a strong reference to the ImageScout
instance until the callback completes. If reference is lost, your completion handler will never be executed.
Compatibility
- Swift 5 / Xcode 11
- iOS 8+
- macOS 10.11
License
See LICENSE.
*Note that all licence references and agreements mentioned in the ImageScout README section above
are relevant to that project's source code only.