• Stars
    star
    136
  • Rank 266,724 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 12 years ago
  • Updated almost 4 years ago

Reviews

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

Repository Details

A .NET wrapper for libwebp

libwebp wrapper for .NET

Build status for branch 'master': build status Last nuget release: Nuget release version

This library is available on Nuget as Imazen.WebP.

This library offers P/Invoke exposure for webp/decode.h and webp/encode.h, but not demux.h and mux.h.

Key APIs

  • new Imazen.WebP.SimpleDecoder().DecodeFromBytes(byte[] data, long length) -> System.Drawing.Bitmap
  • new Imazen.WebP.SimpleEncoder().Encode(Bitmap from, Stream to, float quality)
  • Imazen.WebP.SimpleEncoder.GetEncoderVersion() -> String, Imazen.WebP.SimpleDecoder.GetDecoderVersion() -> String

Improvements we're very interested in

  • Expose the power of Imazen.WebP.Extern.WebPConfig and Imazen.WebP.Extern.WebPPreset for better encoding.
  • Consider using WebPDecode for better decode error details.
  • Animation support
  • Make LoadLibrary cross-platform (although it is not strictly neccessary)
  • Add .NET Core support. This will likely require introducing a PixelBuffer{width, height, ptr, stride} interface that can wrap System.Drawing.Bitmap via adapter. System.Drawing.Bitmap is currently directly used by the SimpleDecoder and SimpleEncoder classes, but these total < 200 lines of code. Or, leave the core API as P/Invoke only. libwebp doesn't have a bad API at all.

Windows builds of libwebp 0.5.2 can be found here:

https://s3.amazonaws.com/resizer-dynamic-downloads/webp/0.5.2/x86_64/libwebp.dll https://s3.amazonaws.com/resizer-dynamic-downloads/webp/0.5.2/x86/libwebp.dll

You may need vcruntime14 (VS 2015 C++ Redistributable) https://www.microsoft.com/en-us/download/details.aspx?id=48145

This library is binary compatible with as-is NMake builds of libwebp (no custom C/C++).

License

This software is released under the MIT license:

Copyright (c) 2012 Imazen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

imageflow

High-performance image manipulation for web servers. Includes imageflow_server, imageflow_tool, and libimageflow
Rust
4,154
star
2

resizer

The official repository for ImageResizer
C#
567
star
3

imageflow-dotnet-server

A super-fast image server to speed up your site - deploy as a microservice, serverless, or embeddable.
C#
248
star
4

slimmage

Context-friendly responsive image solution
JavaScript
167
star
5

imageflow-dotnet

The official .NET API for Imageflow, the Rust image processing and optimization engine for web servers
C#
142
star
6

studiojs

[Deprecated] A set of jQuery plugins that compose a flexible, web-based image editing studio.
JavaScript
92
star
7

imageflow-node

An Image manipulation Library for Nodejs. Based on https://github.com/imazen/imageflow
TypeScript
87
star
8

Graphics-vNext

The future of server-side graphics in ASP.NET
C#
68
star
9

keyhub

License management portal from Imazen & Lucrasoft. Looking for new maintainer (has been replaced by Chargebee, S3, & a ruby script)
C#
52
star
10

reunion

Repeatable, evidence-based expense and income accounting
Ruby
39
star
11

freeimage

DEPRECATED. This repository is not maintained, it is an old mirror of the inactive FreeImage project
C
34
star
12

hardwired

Hardwired - A 'NonCMS' for coders that applies the DRY and KISS principles to both content and code.
Ruby
25
star
13

imageflow-go

Go bindings for Imageflow -> https://github.com/imazen/imageflow
Go
17
star
14

resizer-web

Less
16
star
15

folioxml

Folio Flat File to XML/HTML/Lucene conversion framework
Java
12
star
16

slimresponse

Painless responsive images for .Net with Slimmage and ImageResizer
C#
11
star
17

resizer-images

This repository holds the ASP.NET project we use to deploy ImageResizer to z.zr.io
JavaScript
7
star
18

imageflow-ruby

These bindings are a work in progress; do not use
Ruby
5
star
19

repositext-idml-inspection

CSS
5
star
20

psdplugin-with-text

Fork of PsdPlugin with support for reading (and rendering) text layers
C#
4
star
21

reunion-sample

Starter sample for working with reunion
Ruby
4
star
22

repositext

Ruby
4
star
23

gd-libgd

Fork of LibGD for Windows & .NET support [deprecated]
C
3
star
24

libjpeg-turbo

DEPRECATED! Use libjpegturbo (without the dash) instead!
C
3
star
25

imageflow-web

Jekyll site for imageflow.io
HTML
3
star
26

imagetones

Tiny library to extract primary colors from a Bitmap.
C#
2
star
27

repositext-guide

Getting started with Repositext
Ruby
2
star
28

deprecated-gd-bindings-generator-old

Generates .NET bindings for libgd using CppSharp.
C#
2
star
29

dockerfiles_imageflow

DEPRECATED - do not use. These have been moved to imazen/imageflow/docker
Dockerfile
2
star
30

rust-openssl

Rust
1
star
31

ruby-vips-riapi

An experimental ruby wrapper for VIPS which may eventually be RIAPI compliant.
Ruby
1
star
32

repositext-web

repositext.org source
CSS
1
star
33

resizer-docs

Doxygen and Docu documentation for the ImageResizer project and its plugins
Graphviz (DOT)
1
star
34

suspension

Enables cross-format merging through token suspension.
Ruby
1
star
35

gd-appveyor-helpers

PowerShell
1
star
36

hardwired-sample-minimal

An absurdly minimal example of a site running Hardwired
Ruby
1
star
37

collected

Collects documentation and API info from Imageflow*/ImageResizer* into a single markdown file for AI support use.
Python
1
star
38

paragon

Help create a demo for delivering unmanaged dependencies with NuGet
1
star
39

gd-dotnet-bindings-generator

Generates C# bindings for the LibGD library
C#
1
star
40

dhcpmanager

Better DHCP reservation management for Windows Server
JavaScript
1
star