• This repository has been archived on 17/Oct/2021
  • Stars
    star
    282
  • Rank 146,549 (Top 3 %)
  • Language
    C
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Complete WebP Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling

WebPImageSerialization

WebPImageSerialization encodes and decodes between UIImage and WebP images, following the API conventions of Foundation's NSJSONSerialization class.

By default, UIImage initializers can't decode animated images from GIF files. This library uses swizzling to provide this functionality for you. To opt out of this behavior, set WEBP_NO_UIIMAGE_INITIALIZER_SWIZZLING in your build environment. If you're using CocoaPods, you can add this build setting to your Podfile:

post_install do |r|
  r.pods_project.targets.each do |target|
    if target.name == 'WebPImageSerialization' then
      target.build_configurations.each do |config|
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||=
          ['$(inherited)', 'WEBP_NO_UIIMAGE_INITIALIZER_SWIZZLING=1']
      end
    end
  end
end

Usage

Decoding

UIImageView *imageView = ...;
imageView.image = [UIImage imageNamed:@"image.webp"];

Encoding

NSData *data = UIImageWebPRepresentation(imageView.image);

Contact

Mattt (@mattt)

License

WebPImageSerialization is available under the MIT license. See the LICENSE file for more info.

More Repositories

1

Ono

A sensible way to deal with XML & HTML for iOS & macOS
Objective-C
2,603
star
2

GroundControl

Remote configuration for iOS
Objective-C
1,946
star
3

CargoBay

The Essential StoreKit Companion
Objective-C
1,770
star
4

Euler

Swift Custom Operators for Mathematical Notation
Swift
1,156
star
5

AnimatedGIFImageSerialization

Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling
Objective-C
1,087
star
6

TransformerKit

A block-based API for NSValueTransformer, with a growing collection of useful examples.
Objective-C
848
star
7

Navajo

Password Validator & Strength Evaluator
Objective-C
836
star
8

SkyLab

Multivariate & A/B Testing for iOS and Mac
Objective-C
790
star
9

Orbiter

Push Notification Registration for iOS
Objective-C
673
star
10

NSEtcHosts

/etc/hosts with NSURLProtocol
Objective-C
666
star
11

Chroma-Hash

A colorful visualization of password field input
JavaScript
624
star
12

rack-scaffold

Automatically generate REST APIs from Core Data models
Ruby
528
star
13

sinatra-param

Parameter Validation & Type Coercion for Sinatra
Ruby
519
star
14

InflectorKit

Efficiently Singularize and Pluralize Strings
Objective-C
476
star
15

NSSortDescriptor-WilsonRank

The Correct Way To Rank Up/Down Voted Items
Objective-C
433
star
16

Antenna

Extensible Remote Logging for iOS
Objective-C
424
star
17

Godzippa

Godzippa! - GZip Compression / Decompression Category for NSData
Objective-C
424
star
18

CommonMarkAttributedString

Create NSAttributedStrings from Markdown Text
Swift
421
star
19

rack-push-notification

A Rack-mountable webservice for managing push notifications
Ruby
378
star
20

TTTLocalizedPluralString

NSLocalizedString with a Count Argument
Objective-C
378
star
21

CupertinoYankee

An NSDate Category With Locale-Aware Calculations for Beginning & End of Day, Week, Month, and Year
Objective-C
305
star
22

CHChromaHashView

A classic password visualization concept, ported to iOS
Objective-C
273
star
23

Xcode-Licensed-Templates

Minimal Xcode Templates for Open Source Developers
255
star
24

GeoJSONSerialization

Encode & Decode Between GeoJSON & MapKit Shapes
Objective-C
231
star
25

terminal-share

Command Line & Ruby Interface to Mac OS X Sharing Services
Objective-C
228
star
26

TTTRandomizedEnumerator

Mix things up with your collection classes with style and class (well, a category, but you get the idea).
Objective-C
223
star
27

BritishInvasion

Localise Your .m Files, For Queen And Country ๐Ÿ‡ฌ๐Ÿ‡ง
Objective-C
212
star
28

OpenAI

A Swift client for the OpenAI API.
Swift
181
star
29

AnyJSON

Encode / Decode JSON By Any Means Possibleโ„ข
Objective-C
119
star
30

MsgPackSerialization

MsgPack Serialization for Objective-C
C
96
star
31

Morse.js

A jQuery Plugin to annotate text with Morse Code
JavaScript
95
star
32

rack-smart-app-banner

Rack middleware to automatically include code for Smart App Banners on iOS
Ruby
85
star
33

vCardSerialization

Encodes and decodes between vCard files and AddressBook records.
Objective-C
69
star
34

UIFontSerialization

Encode and decode between UIFont and Postscript font data
Objective-C
64
star
35

rack-http-logger

Log metrics from HTTP request parameters according to l2met conventions
Ruby
57
star
36

rack-passbook

Rack middleware that provides Passbook web service endpoints.
Ruby
52
star
37

rack-in-app-purchase

Rack middleware that manages products for in-app-purchases and verifies receipts.
Ruby
51
star
38

swift-package-registry-oas

OpenAPI Specification for proposed Swift Package Registry web service
Swift
41
star
39

core_data

Parse Core Data Model (.xcdatamodel) Files
Ruby
39
star
40

swift-registry

A reference implementation of the Swift Package Registry, written in Swift and using Git as a database / transparent log.
Swift
37
star
41

rack-subdomain

Rack middleware to transparently route requests with a subdomain to a specified path with substitutions
Ruby
37
star
42

rack-newsstand

Automatically generate webservice endpoints for Newsstand
Ruby
33
star
43

rack-remote-configuration

Serve property list or JSON configuration files
Ruby
24
star
44

commoditize

A command-line utility for macOS that mounts a Docker container image as an external disk image.
Shell
20
star
45

swift-package-sbom

A software bill of materials (SBoM) generator for Swift packages
Swift
17
star
46

vscode-unicorn

๐Ÿฆ„๐Ÿ’ฌ A Visual Studio Code extension that adds a status bar entry showing Unicode data for the currently selected character.
TypeScript
15
star
47

hype

Write Python functions. Call them from language models.
Python
15
star
48

Sonic-Hash

A melodic Sonification of password field input
JavaScript
14
star
49

NFPA704View

UIView Subclass for NFPA 704 "Fire Diamonds"
Objective-C
13
star
50

swift-package-registry-codeartifact

A basic implementation of the Swift package registry interface that uses AWS CodeArtifact as a backend for package releases and assets.
TypeScript
10
star
51

rack-heroku-no-such-app

Rack middleware to prevent loading from `*.heroku.com` / `*.herokuapp.com` addresses
Ruby
9
star
52

glitz

Glitz adds ANSI-colorized glamour to your terminal output
Ruby
9
star
53

replicate-swift

Unofficial Swift client for the Replicate API
Swift
8
star
54

swift-package-serialization-lambda

Swift
7
star
55

cog-replicate-logo-generator

Python
5
star
56

rack-typekit

Rack middleware to automatically inject Typekit into webpages
Ruby
4
star
57

CycloneDX

Swift
4
star
58

swift-registry-benchmark-harness

A harness for benchmarking the performance of building a project with Swift Package Manager using the new package registry interface.
Ruby
4
star
59

documentation-block

[WIP] View symbol documentation for a file
TypeScript
3
star