Дипломная работа: Разработка программного обеспечения для фильтрации растровых изображений

class CDotFilter: public CFilter

{

protected:

//Таблицы преобразования для компонентов цвета

BYTE BGRTransTable[3][256];

public:

//Метод преобразования пиксела

BOOL TransformPix(LONG x, LONG y);};

Данными этого класса являются три таблицы преобразования компонентов RGB цвета.

Для точечного фильтра переопределён метод . Реализация метода приведена в листинге 3.7.2

Листинг 3.7.2 – Метод CDotFilter:: TransformPix (). Файл Filter.cpp

BOOL CDotFilter::TransformPix(LONG x, LONG y)

{BYTE *pDPix=NULL, *pSPix=NULL;

// Источник необходим

if(m_pSourceBM==NULL)

return FALSE;

//Если приёмник не задан, то преобразование помещаем в источник

if(m_pDestBM==NULL)

m_pDestBM=m_pSourceBM;

// Получаем указатели на пикселы в источнике и приёмнике

if((pDPix=m_pDestBM->GetPixPtr(x, y))==NULL ||

(pSPix=m_pSourceBM->GetPixPtr(x, y))==NULL)

return FALSE;

// Преобразование. Порядок BGR

*pDPix=BGRTransTable[0][*pSPix];

*(pDPix+1)=BGRTransTable[1][*(pSPix+1)];

*(pDPix+2)=BGRTransTable[2][*(pSPix+2)];

return TRUE; };

Хотя формат 24-битового цвета называют RGB, в файле формата BMP компоненты цвета хранятся в обратном порядке (Порядок BGR).

К-во Просмотров: 376
Бесплатно скачать Дипломная работа: Разработка программного обеспечения для фильтрации растровых изображений