Nitrogen Fingers Paint

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Pixel aspect ratio / Character Mode)
m
Line 14: Line 14:
 
== Format ==
 
== Format ==
  
An NFP file consists of a text file containing a hex character for each pixel.
+
An NFP file consists of a text file containing a [[wikipedia:hexadecimal|hex]] character for each pixel.
  
 
Each pixel's character must be in the range <abbr title="0123456789abcdef"><code>0-f</code></abbr> and be lowercase,
 
Each pixel's character must be in the range <abbr title="0123456789abcdef"><code>0-f</code></abbr> and be lowercase,
Line 34: Line 34:
  
 
CraftOS's <code>paintutils</code> library (and therefore <code>paint</code>) uses character mode for displaying images, meaning one image "pixel" is a character cell.
 
CraftOS's <code>paintutils</code> library (and therefore <code>paint</code>) uses character mode for displaying images, meaning one image "pixel" is a character cell.
Character cells are at a 2:3 aspect ratio, 12×18 "real" pixels in size.
+
Character cells are at a 2:3 aspect ratio, 12×18 real pixels in size.
  
 
== Example ==
 
== Example ==

Revision as of 16:16, 13 March 2021

File Format
Name NFP
Ontology
Extension(s) .nfp
Compression None
Reference Implementation CC:T's paintutils (lua)
Error Resilience None
NFP[Stands for?] is a simple text file format used by ComputerCraft to store images.

CraftOS's paint program allows for easy editing of these files with a GUI.

Contents

Format

An NFP file consists of a text file containing a hex character for each pixel.

Each pixel's character must be in the range 0-f and be lowercase, any other characters (including capital A-F) are treated as fully transparent pixels.

The newline (\n) character moves to the beginning of the next row.[End file with newline or not?] Due to the nature of this, it is possible to have rows of different length and therefore means that nonsquare images can be created.

Whilst any unrecognised character is treated as a transparent pixel, it is recommended that a space be used. CraftOS's paint program automatically converts all transparent pixels to a space when saved.

Colours

To calculate a colour for a given value do 2x and then treat it as a 24-bit RGB value (8 bits for each of red, green and blue).

It is recommended that a lookup table be generated for performance.

Pixel aspect ratio

CraftOS's paintutils library (and therefore paint) uses character mode for displaying images, meaning one image "pixel" is a character cell. Character cells are at a 2:3 aspect ratio, 12×18 real pixels in size.

Example

house.nfp NFP transparent.png represents a transparent pixel.
NFP PNG PNG (nonsquare)
        c␤
   eeeeec␤
  eeeeeee␤
 eeeeeeeee␤
  ccccccc␤
  c33cc5c␤
  ccccc5c␤
fffffffffff␤

NFP house.png NFP house nonsquare.png

External links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox