// Number of encoded tables
# Define color_scale_count 6
// Encode the table name
Const char colorscalename [color_scale_count] [64] =
{
"1 conventional grayscale encoding ",
"2 inverse grayscale encoding ",
"3 red saturation encoding ",
"4 Green saturation encoding ",
"5 blue saturation encoding ",
"6 Yellow saturation encoding ",
"7 cyan saturation encoding ",
"8 purple saturation encoding ",
};
// Encode the RGB array of the table
Const byte colorstable [color_scale_count] [1, 256] [4] =
{
{// Red saturation code
{0, 0, 0}, {1, 0, 0}, {2, 0, 0}, {3, 0, 0}, // 4
{4, 0, 0}, {5, 0, 0}, {6, 0, 0}, {7, 0, 0}, // 8
{8, 0, 0}, {9, 0, 0}, {10, 0, 0}, {11, 0, 0}, // 12
{12, 0, 0}, {13, 0, 0}, {14, 0, 0}, {15, 0, 0}, // 16
{16, 0, 0}, {17, 0, 0}, {18, 0, 0}, {19, 0, 0}, // 20
... ... ... ...
{224, 0, 0}, {225, 0, 0}, {226, 0, 0}, {227, 0, 0}, // 228
{228, 0, 0}, {229, 0, 0}, {230, 0, 0}, {231, 0, 0}, // 232
{232, 0, 0}, {233, 0, 0}, {234, 0, 0}, {235, 0, 0}, // 236
{236, 0, 0}, {237, 0, 0}, {238, 0, 0}, {239, 0, 0}, // 240
{240, 0, 0}, {241, 0, 0}, {242, 0, 0}, {243, 0, 0}, // 244
{244, 0, 0}, {245, 0, 0}, {246, 0, 0}, {247, 0, 0}, // 248
{248, 0, 0}, {249, 0, 0}, {250, 0, 0}, {251, 0, 0}, // 252
{252, 0, 0}, {253, 0, 0}, {254, 0, 0}, {255, 0, 0}, // 256
}, // Rule: r = I, G = B = 0; I = 0 to 255{// Green saturation Encoding
{0, 0, 0}, {0, 1, 0}, {0, 2, 0}, {0, 3, 0}, // 4
{0, 4, 0}, {0, 5, 0}, {0, 6, 0}, {0, 7, 0}, // 8
{0, 8, 0}, {0, 9, 0}, {0, 10, 0}, {0, 11, 0}, // 12
{0, 12, 0}, {0, 13, 0}, {0, 14, 0}, {0, 15, 0}, // 16
{0, 16, 0}, {0, 17, 0}, {0, 18, 0}, {0, 19, 0}, // 20
{0, 20, 0}, {0, 21, 0}, {0, 22, 0}, {0, 23, 0}, // 24
... ... ... ...
{0,224, 0}, {0,225, 0}, {0,226, 0}, {0,227, 0}, // 228
{0,228, 0}, {0,229, 0}, {0,230, 0}, {0,231, 0}, // 232
{0,232, 0}, {0,233, 0}, {0,234, 0}, {0,235, 0}, // 236
{0,236, 0}, {0,237, 0}, {0,238, 0}, {0,239, 0}, // 240
{0,240, 0}, {0,241, 0}, {0,242, 0}, {0,243, 0}, // 244
{0,244, 0}, {0,245, 0}, {0,246, 0}, {0,247, 0}, // 248
{0,248, 0}, {0,249, 0}, {0,250, 0}, {0,251, 0}, // 252
{0,252, 0}, {0,253, 0}, {0,254, 0}, {0,255, 0}, // 256
}, // Law: g = I, r = B = 0; for I = 0 to 255 {// Blue saturation Encoding
{0, 0, 0}, {0, 0, 1}, {0, 0, 2}, {0, 0, 3}, // 4
{0, 0, 4}, {0, 0, 5}, {0, 0, 6}, {0, 0, 7}, // 8
{0, 0, 8}, {0, 0, 9}, {0, 0, 10}, {0, 0, 11}, // 12
{0, 0, 12}, {0, 0, 13}, {0, 0, 14}, {0, 0, 15}, // 16
{0, 0, 16}, {0, 0, 17}, {0, 0, 18}, {0, 0, 19}, // 20
{0, 0, 20}, {0, 0, 21}, {0, 0, 22}, {0, 0, 23}, // 24
... ... ... ...
{0, 0,244}, {0, 0,245}, {0, 0,246}, {0, 0,247}, // 248
{0, 0,248}, {0, 0,249}, {0, 0,250}, {0, 0,251}, // 252
{0, 0,252}, {0, 0,253}, {0, 0,254}, {0, 0,255}, // 256
}, // Rule: B = I, r = G = 0; for I = 0 to 255 {// Yellow saturation code
{0, 0, 0}, {1, 1, 0}, {2, 2, 0}, {3, 3, 0}, // 4
{4, 4, 0}, {5, 5, 0}, {6, 6, 0}, {7, 7, 0}, // 8
{8, 8, 0}, {9, 9, 0}, {10, 10, 0}, {11, 11, 0}, // 12
{12, 12, 0}, {13, 13, 0}, {14, 14, 0}, {15, 15, 0}, // 16
{16, 16, 0}, {17, 17, 0}, {18, 18, 0}, {19, 19, 0}, // 20
{20, 20, 0}, {21, 21, 0}, {22, 22, 0}, {23, 23, 0}, // 24
... ... ... ...
{228,228, 0}, {229,229, 0}, {230,230, 0}, {231,231, 0}, // 232
{232,232, 0}, {233,233, 0}, {234,234, 0}, {235,235, 0}, // 236
{236,236, 0}, {237,237, 0}, {238,238, 0}, {239,239, 0}, // 240
{240,240, 0}, {241,241, 0}, {242,242, 0}, {243,243, 0}, // 244
{244,244, 0}, {245,245, 0}, {246,246, 0}, {247,247, 0}, // 248
{248,248, 0}, {249,249, 0}, {250,250, 0}, {251,251, 0}, // 252
{252,252, 0}, {253,253, 0}, {254,254, 0}, {255,255, 0}, // 256
}, // Rule: r = G = I, B = 0; for I = 0 to 255 {// Cyan saturation Encoding
{0, 0, 0}, {0, 1, 1}, {0, 2, 2}, {0, 3, 3}, // 4
{0, 4, 4}, {0, 5, 5}, {0, 6, 6}, {0, 7}, // 8
{0, 8, 8}, {0, 9}, {0, 10}, {0, 11}, // 12
{0, 12, 12}, {0, 13, 13}, {0, 14, 14}, {0, 15, 15}, // 16
{0, 16, 16}, {0, 17, 17}, {0, 18, 18}, {0, 19, 19}, // 20
{0, 20, 20}, {0, 21, 21}, {0, 22, 22}, {0, 23, 23}, // 24
{0, 24, 24}, {0, 25, 25}, {0, 26, 26}, {0, 27, 27}, // 28
... ... ... ...
{0,232,232}, {0,233,233}, {0,234,234}, {0,235,235}, // 236
{0,236,236}, {0,237,237}, {0,238,238}, {0,239,239}, // 240
{0,240,240}, {0,241,241}, {0,242,242}, {0,243,243}, // 244
{0,244,244}, {0,245,245}, {0,246,246}, {0,247,247}, // 248
{0,248,248}, {0,249,249}, {0,250,250}, {0,251,251}, // 252
{0,252,252}, {0,253,253}, {0,254,254}, {0,255,255}, // 256
}, // Rule: B = G = I, r = 0; for I = 0 to 255 {// Purple saturation Encoding
{0, 0, 0}, {1, 0, 1}, {2, 0, 2}, {3, 0, 3}, // 4
{4, 0, 4}, {5, 0, 5}, {6, 0, 6}, {7, 0, 7}, // 8
{8, 0, 8}, {9, 0, 9}, {10, 0, 10}, {11, 0, 11}, // 12
{12, 0, 12}, {13, 0, 13}, {14, 0, 14}, {15, 0, 15}, // 16
{16, 0, 16}, {17, 0, 17}, {18, 0, 18}, {19, 0, 19}, // 20
{20, 0, 20}, {21, 0, 21}, {22, 0, 22}, {23, 0, 23}, // 24
... ... ... ...
{228, 0,228}, {229, 0,229}, {230, 0,230}, {231, 0,231}, // 232
{232, 0,232}, {233, 0,233}, {234, 0,234}, {235, 0,235}, // 236
{236, 0,236}, {237, 0,237}, {238, 0,238}, {239, 0,239}, // 240
{240, 0,240}, {241, 0,241}, {242, 0,242}, {243, 0,243}, // 244
{244, 0,244}, {245, 0,245}, {246, 0,246}, {247, 0,247}, // 248
{248, 0,248}, {249, 0,249}, {250, 0,250}, {251, 0,251}, // 252
{252, 0,252}, {253, 0,253}, {254, 0,254}, {255, 0,255}, // 256
} // Rule: r = B = I, G = 0; for I = 0 to 255 // End the encoding table
};
|