Texim 0.1.0-preview.210

This is a prerelease version of Texim.
dotnet add package Texim --version 0.1.0-preview.210
NuGet\Install-Package Texim -Version 0.1.0-preview.210
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Texim" Version="0.1.0-preview.210" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Texim --version 0.1.0-preview.210
#r "nuget: Texim, 0.1.0-preview.210"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Texim as a Cake Addin
#addin nuget:?package=Texim&version=0.1.0-preview.210&prerelease

// Install Texim as a Cake Tool
#tool nuget:?package=Texim&version=0.1.0-preview.210&prerelease

Texim MIT license

Extensible API for image-related formats in the Yarhl framework. It aims to provide an API to easily implement different image, palette, sprites and animation formats. Including typical image processing algorithms for importers or hardware swizzlers of different platforms.

[!NOTE]
This is a proof-of-concept project for fast prototyping. In the future it will be Yarhl.Media.Images. There aren't stable releases, only preview. The API may suffer major refactors between minor versions.

Features

  • 🔴🟢🔵 Colors
    • Serialize and deserialize data as RGB32 or BGR555 colors
    • Indexed pixels with different bit-depths: 4LE, 4BE, 8
    • Alpha channels RGBA32 and indexed formats: A3I5 and A5I3.
    • Extensible pixel encoding interfaces.
  • 🎨 Palettes
    • Palette format interfaces
    • Convert to an image color map
    • Convert to RIFF format.
    • Convert from raw data.
  • 🖼️ Images
    • Interfaces for RGB and indexed images
    • Converters to/from RGB and indexed images
    • Image quantization algorithms for indexed images
      • Standard quantization
      • Fixed palette
      • Fixed palette per tile
      • Median cut
      • Exhaustive color search algorithm
    • Animated images
    • Convert from raw data
    • Supports tile-based images / swizzling algorithms
      • NDS map compression
  • 🧩 Sprites (segmented layered images)
    • Extensible interfaces
    • Support for segments and layers
    • Export into layered TIFF images
    • Import from multi-page TIFF images
    • Segmentation algorithms
      • NDS segmentation
      • TIFF multi-pages
  • 📃 Standard image formats conversion
    • PNG, BMP, JPG and anything supported ImageSharp
    • TIFF with multi-page support
    • GIF
    • Convert to formats supported by ImageMagick
  • 🎮 Game formats
    • Nitro formats: NCLR, NCGR, NSCR, NCER
    • Partial support from games:
      • Black Rock Shooter
      • Devil Survivor
      • Disgaea
      • Jump Ultimate Stars
      • London Life
      • Megaman
      • MetalMax
    • Raw binary formats

Usage

The project has the following .NET libraries (NuGet packages via nuget.org). The libraries only support .NET LTS versions: .NET 6.0 and .NET 8.0.

  • Texim: Image formats and converters API
  • Texim.Formats.ImageMagick: convert to ImageMagick supported formats.
  • Texim.Games: Format and converter implementations from games.

The libraries are available from the Azure DevOps public feeds. To use them create a file nuget.config in the same directory of your solution file (.sln) with the following content:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear/>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="SceneGate-Preview" value="https://pkgs.dev.azure.com/SceneGate/SceneGate/_packaging/SceneGate-Preview/nuget/v3/index.json" />
  </packageSources>
  <packageSourceMapping>
    <packageSource key="nuget.org">
      <package pattern="*" />
    </packageSource>
    <packageSource key="SceneGate-Preview">
      <package pattern="Texim*" />
    </packageSource>
  </packageSourceMapping>
</configuration>

Then restore / install as usual via Visual Studio, Rider or command-line. You may need to restart Visual Studio for the changes to apply.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Texim:

Package Downloads
SceneGate.Ekona

Library for NDS file formats.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.1.0-preview.210 64 2/11/2024

Check the project site