TinyEXR.NET
0.0.2-alpha.1
See the version list below for details.
dotnet add package TinyEXR.NET --version 0.0.2-alpha.1
NuGet\Install-Package TinyEXR.NET -Version 0.0.2-alpha.1
<PackageReference Include="TinyEXR.NET" Version="0.0.2-alpha.1" />
<PackageVersion Include="TinyEXR.NET" Version="0.0.2-alpha.1" />
<PackageReference Include="TinyEXR.NET" />
paket add TinyEXR.NET --version 0.0.2-alpha.1
#r "nuget: TinyEXR.NET, 0.0.2-alpha.1"
#:package TinyEXR.NET@0.0.2-alpha.1
#addin nuget:?package=TinyEXR.NET&version=0.0.2-alpha.1&prerelease
#tool nuget:?package=TinyEXR.NET&version=0.0.2-alpha.1&prerelease
TinyEXR.NET
TinyEXR.NET is a C# wrapper of single header-only C++ library tinyexr
tinyexr is a portable single header-only C++ library to load and save OpenEXR (.exr) images
The target framework of TinyEXR.NET is .NET Standard 2.1
WARNING: This library is WIP. API is unstable
Download
TinyEXR.NET can be found on NuGet (← click it !)
Supported Platforms
Key:
- ✅: completed
- 🚧: work in progress
- ⌛: planned, not yet started
- ❌: no plan
| Platform | State |
|---|---|
| Windows x64 | 🚧 |
| Windows x86 | ❌ |
| Windows arm64 | ❌ |
| Linux x64 | ⌛ |
| Linux x86 | ❌ |
| Linux arm64 | ❌ |
| macOS x64 | ⌛ |
| macOS arm64 | ❌ |
Usage
WIP
Development build
Windows
0. Requirements
- MSVC that supported C++11 (recommend VS2019 or higher)
- Powershell (>= 3.0)
- CMake (>= 3.0.0)
- .NET SDK x64 (>= .NET Core 3.0)
1. Download the code
First, clone this project or download the latest release and unzip.
2. Build native library
Run build_win-x64.ps1
3. Build TinyEXR.NET
You can use dotnet command in TinyEXR.NET folder: dotnet build --configuration Release
Or, you can open TinyEXR.NET/TinyEXR.NET.sln in VS or any other IDE and compile
4. Finish
Finally, we can find NuGet package in TinyEXR.NET\bin\Release. You can use it anywhere
Details
Although tinyexr provides C interface, the MSVC compiler does not export any symbols by default.
So we have to create a C++ project in the folder native to wrap tinyexr API.
I don't know if there is any better way. But it works. 😃
The reason why we only support x64 platform is that I don't know whether the existing code will work properly if we support x86 or other platforms. Specifically, Is the struct layout at C++ side consistent with C# side? I don't have time to solve this problem at present. So I just give up these platform.
Contribution is welcome!
License
TinyEXR.NET is under MIT license
and wrapped C++ lib tinyexr is under 3-clause BSD
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on TinyEXR.NET:
| Package | Downloads |
|---|---|
|
ValveResourceFormat
Library to decompile Valve Source 2 files |
|
|
Aardvark.GeoSpatial.Opc
Aardvark.GeoSpatial.Opc formerly known as Aardvark.VRVis.Internal |
|
|
UAI_ONNX
ONNX Runner built for C# projects that target .Net8.0 or later. This library is built on top of the ONNX Runtime C# API and provides a simple way to load and run ONNX models in C#. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on TinyEXR.NET:
| Repository | Stars |
|---|---|
|
ValveResourceFormat/ValveResourceFormat
Source 2 Viewer is a powerful tool that allows you to browse VPK archives, view, extract, and decompile Source 2 assets, including maps, models, materials, textures, sounds, and more.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.11 | 5,726 | 8/14/2025 |
| 0.3.10 | 2,787 | 4/27/2025 |
| 0.3.9 | 922 | 2/13/2025 |
| 0.3.8 | 2,252 | 9/17/2024 |
| 0.3.7 | 822 | 8/4/2024 |
| 0.3.6 | 1,042 | 2/23/2024 |
| 0.3.5 | 463 | 8/7/2023 |
| 0.3.4 | 409 | 7/9/2023 |
| 0.3.3 | 296 | 6/6/2023 |
| 0.3.2 | 572 | 4/19/2023 |
| 0.3.1 | 362 | 4/4/2023 |
| 0.2.3 | 761 | 8/19/2022 |
| 0.2.2 | 572 | 8/16/2022 |
| 0.2.1 | 588 | 8/15/2022 |
| 0.2.0 | 547 | 8/14/2022 |
| 0.1.1 | 579 | 7/24/2022 |
| 0.1.0 | 565 | 7/15/2022 |
| 0.0.2-alpha.2 | 261 | 7/14/2022 |
| 0.0.2-alpha.1 | 249 | 7/14/2022 |
test nuget