SharpAstro.Exif
3.5.511
See the version list below for details.
dotnet add package SharpAstro.Exif --version 3.5.511
NuGet\Install-Package SharpAstro.Exif -Version 3.5.511
<PackageReference Include="SharpAstro.Exif" Version="3.5.511" />
<PackageVersion Include="SharpAstro.Exif" Version="3.5.511" />
<PackageReference Include="SharpAstro.Exif" />
paket add SharpAstro.Exif --version 3.5.511
#r "nuget: SharpAstro.Exif, 3.5.511"
#:package SharpAstro.Exif@3.5.511
#addin nuget:?package=SharpAstro.Exif&version=3.5.511
#tool nuget:?package=SharpAstro.Exif&version=3.5.511
SharpAstro Codecs
A family of pure-managed, AOT-compatible image-codec packages for .NET 10 — no native binaries.
Each format ships as an independent NuGet, and SharpAstro.Codecs is a thin facade that sniffs a
byte stream by its magic bytes and dispatches to the right decoder, so a consumer can reference one
package instead of cherry-picking codecs.
Formats: PNG (read/write), JPEG (baseline + progressive decode, incl. scaled 1/2–1/8 LOD), TIFF (read/write), JPEG XR (read/write, jxrlib-exact), OpenEXR (read/write), JPEG XL (read/write), plus EXIF reading and a bundled sRGB ICC profile. See CODECS.md for the full per-package decode/encode matrix and how to pick the right one.
All packages target net10.0, are IsAotCompatible, ship SourceLink debugging, and publish in
lockstep (shared Major.Minor + CI run-number patch).
NuGet
# One facade for sniff-and-decode (PNG + JPEG today):
dotnet add package SharpAstro.Codecs
# ...or reference just the format(s) you need:
dotnet add package SharpAstro.Png
dotnet add package SharpAstro.Jxr
Usage
Decode any supported still image through the facade — sniff the header, size a buffer, decode into it:
using SharpAstro.Codecs;
var bytes = File.ReadAllBytes(path);
if (ImageCodecs.TryReadInfo(bytes, out var info))
{
var rgba = new byte[info.Width * info.Height * 4];
ImageCodecs.TryDecodeIntoRgba8(bytes, rgba); // zero-copy into your buffer
// ...or ImageCodecs.TryDecode(bytes, out IDecodedImage img) for the full-fidelity raster.
}
Each codec is also usable directly — e.g. PngReader / PngWriter, JpegDecoder.Decode / DecodeTo,
TiffReader / TiffWriter, JxrImageCodec, ExrImageCodec, JxlImageCodec. See CODECS.md.
Building from source
git clone https://github.com/SharpAstro/Codecs
cd Codecs
dotnet build Codecs.JustTests.sln -c Release
dotnet test Codecs.JustTests.sln -c Release
Requires the .NET 10 SDK.
License
Unlicense (public domain).
Credits
This repository began as a fork of StbSharp/StbImageSharp
(Roman Shapiro's C# port of Sean Barrett's stb_image.h, via the
Hebron C-to-C# transpiler). SharpAstro.Jpeg's decoder was
ported from and validated byte-exact against that reference decoder before the stb port itself was
retired from the repo.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- SharpAstro.Tiff (>= 3.5.511)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SharpAstro.Exif:
| Package | Downloads |
|---|---|
|
TianWen.Lib
Package Description |
|
|
FC.SDK.Raw
Canon CR2 / CR3 raw-file decoder — pure managed C#, no external libraw / dcraw / EDSDK. Sibling to FC.SDK (Canon PTP device communication): one package for talking to the camera, one for decoding the files it writes. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.6.531 | 0 | 7/5/2026 |
| 3.5.511 | 0 | 7/5/2026 |
| 3.4.491 | 0 | 7/5/2026 |
| 3.4.471 | 20 | 7/5/2026 |
| 3.4.451 | 34 | 7/5/2026 |
| 3.4.431 | 35 | 7/4/2026 |
| 3.4.411 | 41 | 7/4/2026 |
| 3.3.391 | 348 | 6/10/2026 |
| 3.3.361 | 39 | 6/1/2026 |
| 3.3.341 | 41 | 5/31/2026 |
| 3.2.311 | 99 | 5/30/2026 |
| 3.2.291 | 37 | 5/30/2026 |
| 3.2.271 | 47 | 5/30/2026 |
| 3.2.251 | 34 | 5/30/2026 |
| 3.1.231 | 50 | 5/30/2026 |
| 3.0.221 | 33 | 5/30/2026 |
| 3.0.211 | 35 | 5/30/2026 |
| 3.0.191 | 41 | 5/24/2026 |
| 3.0.181 | 39 | 5/24/2026 |
| 3.0.171 | 45 | 5/24/2026 |