Encerrado

Pixel image editing software

A windows application that allows the user to load and edit a 128x64 pixel monochrome bitmapped image.

Features required: draw black/white pixels with left/right mouse buttons. Select and move rectangular area. Select font and font size. Write text (utf-8) that is not antialiased. Select item of work to edit. Load and save work in a special binary format as well as an ASCII file suitable to be #included in a C program.

## Deliverables

**Pixel image editing tool

****

Environment

**Can be implemented in any language to be run on a Windows PC, or as a HTML5 webbapp in a Chrome

browser. Should be usable on a screen with 1280x720 resolution.

**Drawing canvas

**The drawing canvas should a have a visible grid (light grey) where each cell is 7 pixels square + the grid lines totaling 8x8 screen pixels for each cell.

The canvas should be 128 x 24 cells.

The top and bottom 4 rows should be marked with a grey color for the user to see that those lines are outside of the area to be saved.

It should be possible to specify a number (from 0 and upwards) of columns from left & right to also be darkened on the canvas. This is only for guidance.

The darkened cells should work as any regular cell. Black/white pixels should be able to be drawn and text to be put there.

The colors for drawing is black & white only.

The canvas should be initialized with white pixels

**Other

**There should be two preview areas each 128x16 pixels that displays the image being worked at in normal and inverse versions.

**Tools**

The tools should be on a small toolbar or similair so they are easy to access.

**Select&Move area

**If this tool is activated the right mouse button selects a rectangular area, the area should then be able to be dragged with the left mouse button. The source area should be filled with wite pixels while and after the drag.

**Draw pixels

**If this tool is activated the left mouse button draws black pixels, the right mouse button draws white pixels.

Font selector

Dropdown with all fonts installed in the system (persistent between runs)

**

Font size

**Dropdown with font sizes from 5 to 30 in steps of 0.5 (persistent between runs)

**Select Image

**Dropdown with the data form the .ili -file. When a selection is made the bitmap data from the .ibi -file should be loaded into the canvas area.

**Text

**Draw black (anti aliasing disabled) text on the canvas. The text area should be pre-selected and ready to be moved on the canvas.

**Clear canvas

**Erase the canvas to white

Load

Browse to a a image map file having the extension ".ili" and load it. At the same time the bitmap data file (same filename but with extension .ibi) should also be loaded.

Save

Save the bitmap data to the .ibi and .iin -file.

**File formats

**.ili

This is a text file with CRLF terminated lines. Each line starts with "#define" followed by a space then a textual token (this token is to be shown in the Select Image dropdown). The token is followed by a space and then a numeric value (0-65535) Example:

#define TH_ONE 12837

#define TH_OK 19274

#define FOOBARBLETCH 75

.ibi

This is a binary file being an "array of structs".

The struct is defined as:

imageNo unsigned int16

imageData[256] unsigned int8

The imageNo is the numeric field from the .ili -file. The imageData is the data from the middle 16 rows of the drawing canvas. The format of the imageData is explained in the zip-file attached to this description.

.iin

This is a file that contains exactly the same data as the binary file, but it is in text format suitable to be included in a C program.

The format should look like this: (where FILENAME is the filename of the loaded file minus the extension and IMAGENO1/IMAGENO2 and so on is the values from the imageNo-field in the struct. The hexdata are the 256 imageData bytes for each struct-entry.

const char FILENAME[] = {

LOBYTE(IMAGENO1),HIBYTE(IMAGENO1),

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xC0,0xA4,0xAA,0xAC,0x28,

0x24,0x02,0x00,0x40,0xA0,0xC0,0x00,0x00,

0x00,0x00,0xE0,0x00,0x40,0xA0,0x60,0x20,

0xC0,0x00,0x04,0x4A,0xA4,0x10,0x40,0x20,

0x20,0x20,0x20,0x40,0x80,0x00,0xC0,0xA0,

0xA0,0xA0,0x20,0x20,0x00,0x00,0xE0,0xA0,

0xE0,0x00,0x80,0x60,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x10,0x28,0x1F,

0x00,0x00,0x00,0x00,0x00,0x3F,0x20,0x20,

0x20,0x20,0x3F,0x00,0x00,0x00,0x00,0x3E,

0x21,0x20,0x20,0x20,0x3F,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,

0x10,0x28,0x1F,0x00,0x00,0x00,0x1C,0x35,

0x3D,0x21,0x10,0x0C,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

LOBYTE(IMAGENO2),HIBYTE(IMAGENO2),

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xC0,0xA4,0xAA,0xAC,0x28,

0x24,0x02,0x00,0x40,0xA0,0xC0,0x00,0x00,

0x00,0x00,0xE0,0x00,0x40,0xA0,0x60,0x20,

0xC0,0x00,0x04,0x4A,0xA4,0x10,0x40,0x20,

0x20,0x20,0x20,0x40,0x80,0x00,0xC0,0xA0,

0xA0,0xA0,0x20,0x20,0x00,0x00,0xE0,0xA0,

0xE0,0x00,0x80,0x60,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x10,0x28,0x1F,

0x00,0x00,0x00,0x00,0x00,0x3F,0x20,0x20,

0x20,0x20,0x3F,0x00,0x00,0x00,0x00,0x3E,

0x21,0x20,0x20,0x20,0x3F,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,

0x10,0x28,0x1F,0x00,0x00,0x00,0x1C,0x35,

0x3D,0x21,0x10,0x0C,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

## Platform

a

Habilidades: PHP

Ver mais: html5 tools, html5 line, html5 fonts, guidance software, extension colors, define data entry, clear array, black binary, binary explained easy, binary explained, binary black, basic image editing, html5 canvas drawing, canvas application, html5 software, software defined, select item, pixel, map drawing, image resolution, image editing work, html5 image, draw map, data editing text file, colors outside

Acerca do Empregador:
( 0 comentários ) Mutiara Damansara, Malaysia

ID do Projeto: #2987528

11 freelancers estão ofertando em média $122 para este trabalho

tomky

See private message.

$126.65 USD in 14 dias
(99 Comentários)
5.9
arthurprs

See private message.

$127.5 USD in 14 dias
(87 Comentários)
5.2
oleg18976

See private message.

$127.5 USD in 14 dias
(11 Comentários)
4.7
ivankorhner

See private message.

$110.5 USD in 14 dias
(43 Comentários)
4.7
desirablecoder

See private message.

$127.5 USD in 14 dias
(13 Comentários)
4.5
dorsan

See private message.

$127.5 USD in 14 dias
(20 Comentários)
4.5
vladfein

See private message.

$127.5 USD in 14 dias
(8 Comentários)
3.6
victorgomes

See private message.

$127.5 USD in 14 dias
(7 Comentários)
3.3
martinedenvw

See private message.

$127.5 USD in 14 dias
(6 Comentários)
3.2
nick85vw

See private message.

$85 USD in 14 dias
(5 Comentários)
2.8
AnderSonB

See private message.

$127.5 USD in 14 dias
(0 Comentários)
0.0