App

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Static Protected Member Functions | List of all members
app::ColorConvertor Class Reference

Zapouzdřuje převody mezi jednotlivými barevnými prostory pro 4 kanálové bitmapy. More...

`#include <ColorConvertor.hpp>`

## Public Member Functions
| ColorConvertor ()
| Výchozí konstruktor.
virtual | ~ColorConvertor ()
| Výchozí destruktor;.

## Static Public Member Functions
static int | convert (rgba_8bit_bitmap &bitmap, ColorMode mode)
| Převede bitmapu do cílového barevného prostoru.

## Static Protected Member Functions
template<typename TPIXEL , typename TCHANNEL >
static int | RGB_HSV (TBitmap< TPIXEL, TCHANNEL > &src)
| Převádí bitmapu z RGB do HSV.
template<typename TPIXEL , typename TCHANNEL >
static int | HSV_RGB (TBitmap< TPIXEL, TCHANNEL > &src)
| Převádí bitmapu z HSV do RGB.
template<typename TPIXEL , typename TCHANNEL >
static int | RGB_HLS (TBitmap< TPIXEL, TCHANNEL > &src)
| Převádí bitmapu z RGB do HLS.
template<typename TPIXEL , typename TCHANNEL >
static int | HLS_RGB (TBitmap< TPIXEL, TCHANNEL > &src)
| Převádí bitmapu z HLS do RGB.

## Detailed Description

Zapouzdřuje převody mezi jednotlivými barevnými prostory pro 4 kanálové bitmapy.

Zapouzdřuje převody bitmap mezi jednotlivými barevnými prostory pro 4 kanálové bitmapy.

Definition at line 41 of file ColorConvertor.hpp.

## Constructor & Destructor Documentation

app::ColorConvertor::ColorConvertor | ( |  | ) |

Výchozí konstruktor.

app::ColorConvertor::~ColorConvertor | ( |  | ) |
| virtual

Výchozí destruktor;.

Definition at line 10 of file ColorConvertor.cpp.

{}

## Member Function Documentation

int app::ColorConvertor::convert | ( | rgba_8bit_bitmap & | bitmap,
|  | ColorMode | mode
| ) |  |
| static

Převede bitmapu do cílového barevného prostoru.

Převede bitmapu do cílového barevného prostoru. Pokud neexistuje přímý převod, provede se jako mezikrok převod do RGB

Parameters

  bitmap | Převáděná bitmapa.
  mode | Cílový barevný prostor.

Returns
  Vrací 0 při úspěchu, jinak kód chyby.

Definition at line 12 of file ColorConvertor.cpp.

{
ColorMode srcMode = bitmap.getType();
if (srcMode == mode) { return 0; }
int err = 0;
if (srcMode != RGBA && mode != RGBA) {
err = convert(bitmap, RGBA);
if (err) { return 100 + err; }
err = convert(bitmap, mode);
if (err) { return 200 + err; }
return 0;
} else if (srcMode == RGBA) {
switch (mode) {
case HSVA: return RGB_HSV<px_4x8bit, px_1x8bit>(bitmap); break;
case HLSA: return RGB_HLS<px_4x8bit, px_1x8bit>(bitmap); break;
default: return 30; break;
}
} else {
switch (srcMode) {
case HSVA: return HSV_RGB<px_4x8bit, px_1x8bit>(bitmap); break;
case HLSA: return HLS_RGB<px_4x8bit, px_1x8bit>(bitmap); break;
default: return 40; break;
}
}
return 0;
}
template<typename TPIXEL , typename TCHANNEL >

int app::ColorConvertor::HLS_RGB | ( | TBitmap< TPIXEL, TCHANNEL > & | src | ) |
| staticprotected

Převádí bitmapu z HLS do RGB.

Převádí bitmapu z HLS do RGB voláním odpovídajících metod TPixelu.

Parameters

  src | Převáděná bitmapa.

Returns
  V případě úspěchu vrací 0, jinak kód chyby.

Definition at line 71 of file ColorConvertor.cpp.

{
if (src.getType() != HLSA) { return 1; }
TPIXEL * ptr = src.getData(); if (ptr == NULL) { return 2; } // Nemelo by nastat, ale pro jistotu.
TPIXEL * ptrEnd = ptr + src.getWidth() * src.getHeight();
TPixel<TPIXEL, TCHANNEL> px;
while (ptr < ptrEnd) {
px.value = *ptr;
px.HLS_RGB();
*ptr = px.value;
ptr++;
}
src.setType(RGBA);
return 0;
}
template<typename TPIXEL , typename TCHANNEL >

int app::ColorConvertor::HSV_RGB | ( | TBitmap< TPIXEL, TCHANNEL > & | src | ) |
| staticprotected

Převádí bitmapu z HSV do RGB.

Převádí bitmapu z HSV do RGB voláním odpovídajících metod TPixelu.

Parameters

  src | Převáděná bitmapa.

Returns
  V případě úspěchu vrací 0, jinak kód chyby.

Definition at line 55 of file ColorConvertor.cpp.

{
if (src.getType() != HSVA) { return 1; }
TPIXEL * ptr = src.getData(); if (ptr == NULL) { return 2; } // Nemelo by nastat, ale pro jistotu.
TPIXEL * ptrEnd = ptr + src.getWidth() * src.getHeight();
TPixel<TPIXEL, TCHANNEL> px;
while (ptr < ptrEnd) {
px.value = *ptr;
px.HSV_RGB();
*ptr = px.value;
ptr++;
}
src.setType(RGBA);
return 0;
}
template<typename TPIXEL , typename TCHANNEL >

int app::ColorConvertor::RGB_HLS | ( | TBitmap< TPIXEL, TCHANNEL > & | src | ) |
| staticprotected

Převádí bitmapu z RGB do HLS.

Převádí bitmapu z RGB do HLS voláním odpovídajících metod TPixelu.

Parameters

  src | Převáděná bitmapa.

Returns
  V případě úspěchu vrací 0, jinak kód chyby.

Definition at line 87 of file ColorConvertor.cpp.

{
if (src.getType() != RGBA) { return 1; }
TPIXEL * ptr = src.getData(); if (ptr == NULL) { return 2; } // Nemelo by nastat, ale pro jistotu.
TPIXEL * ptrEnd = ptr + src.getWidth() * src.getHeight();
TPixel<TPIXEL, TCHANNEL> px;
while (ptr < ptrEnd) {
px.value = *ptr;
px.RGB_HLS();
*ptr = px.value;
ptr++;
}
src.setType(HLSA);
return 0;
}
template<typename TPIXEL , typename TCHANNEL >

int app::ColorConvertor::RGB_HSV | ( | TBitmap< TPIXEL, TCHANNEL > & | src | ) |
| staticprotected

Převádí bitmapu z RGB do HSV.

Převádí bitmapu z RGB do HSV voláním odpovídajících metod TPixelu.

Parameters

  src | Převáděná bitmapa.

Returns
  V případě úspěchu vrací 0, jinak kód chyby.

Definition at line 39 of file ColorConvertor.cpp.

{
if (src.getType() != RGBA) { return 1; }
TPIXEL * ptr = src.getData(); if (ptr == NULL) { return 2; } // Nemelo by nastat, ale pro jistotu.
TPIXEL * ptrEnd = ptr + src.getWidth() * src.getHeight();
TPixel<TPIXEL, TCHANNEL> px;
while (ptr < ptrEnd) {
px.value = *ptr;
px.RGB_HSV();
*ptr = px.value;
ptr++;
}
src.setType(HSVA);
return 0;
}

The documentation for this class was generated from the following files:

- /home/xxx/eclipse_workspaces/app/appcore/jni/app/bitmaps/ColorConvertor.hpp
- /home/xxx/eclipse_workspaces/app/appcore/jni/app/bitmaps/ColorConvertor.cpp