Поделиться через


Функции серого цвета и сглаживания точечного рисунка

Функции серого растрового изображения

MFC предоставляет две функции для придания растровому изображению вида отключенного элемента управления.

Сравнение версий серых и исходных значков.

Имя Описание
AfxDrawGrayBitmap Рисует серую версию растрового изображения.
AfxGetGrayBitmap Копирует серую версию растрового изображения.

Функции сглаживания растрового изображения

MFC также предоставляет две функции для замены фона растрового изображения сглаженным шаблоном.

Сравнение версий дитерированных и исходных значков.

Имя Описание
AfxDrawDitheredBitmap Рисует растровое изображение со сглаженным фоном.
AfxGetDitheredBitmap Копирует растровое изображение со сглаженным фоном.

AfxDrawGrayBitmap

Рисует серую версию растрового изображения.

void AFXAPI AfxDrawGrayBitmap(
    CDC* pDC,
    int x,
    int y,
    const CBitmap& rSrc,
    COLORREF crBackground);

Параметры

pDC
Указывает на целевой контекст устройства.

x
Целевая координата по оси x.

г
Целевая координата по оси y.

rSrc
Исходное растровое изображение.

crBackground
Новый цвет фона (обычно серый, например в случае с COLOR_MENU).

Замечания

Растровое изображение, рисуемое с использованием AfxDrawGrayBitmap , будет выглядеть как отключенный элемент управления.

Сравнение версий серых и исходных значков.

Пример

void CDCView::DrawGrayBitmap(CDC* pDC)
{
   CBitmap bm;
   bm.LoadBitmap(IDB_BITMAP1);
   AfxDrawGrayBitmap(pDC, 10, 50, bm, GetSysColor(COLOR_MENU));
}

Требования

Заголовок: afxwin.h

AfxGetGrayBitmap

Копирует серую версию растрового изображения.

void AFXAPI AfxGetGrayBitmap(
    const CBitmap& rSrc,
    CBitmap* pDest,
    COLORREF crBackground);

Параметры

rSrc
Исходное растровое изображение.

pDest
Растровое изображение назначения.

crBackground
Новый цвет фона (обычно серый, например в случае с COLOR_MENU).

Замечания

Растровое изображение, копируемое с использованием AfxGetGrayBitmap , будет выглядеть как отключенный элемент управления.

Сравнение версий серых и исходных значков.

Пример

CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
CBitmap bmGray;
AfxGetGrayBitmap(bm, &bmGray, GetSysColor(COLOR_MENU));

Требования

Заголовок: afxwin.h

AfxDrawDitheredBitmap

Рисует растровое изображение, заменяя его фон рифленным (контрольным) шаблоном.

void AFXAPI AfxDrawDitheredBitmap(
    CDC* pDC,
    int x,
    int y,
    const CBitmap& rSrc,
    COLORREF cr1  ,
    COLORREF cr2);

Параметры

pDC
Указывает на целевой контекст устройства.

x
Целевая координата по оси x.

г
Целевая координата по оси y.

rSrc
Исходное растровое изображение.

cr1
Один из двух кратных цветов, обычно белый.

cr2
Другой цвет дизера, обычно светло-серый (COLOR_MENU).

Замечания

Исходное растровое изображение рисуется на целевом контроллере домена с двумя цветами (cr1 и cr2), заменяя фон растрового изображения. Фон исходного растрового изображения определяется как его белые пиксели и все пиксели, соответствующие цвету пикселя в левом верхнем углу растрового изображения.

Сравнение версий дитерированных и исходных значков.

Пример

void CDCView::DrawDitheredBitmap(CDC* pDC)
{
   CBitmap bm;
   bm.LoadBitmap(IDB_BITMAP1);
   AfxDrawDitheredBitmap(pDC, 10, 50, bm, RGB(255, 255, 255),
      GetSysColor(COLOR_BTNFACE));
}

Требования

Заголовок: afxwin.h

AfxGetDitheredBitmap

Копирует растровое изображение, заменяя его фон рифленным (проверяющим) шаблоном.

void AFXAPI AfxGetDitheredBitmap(
    const CBitmap& rSrc,
    CBitmap* pDest,
    COLORREF cr1  ,
    COLORREF cr2);

Параметры

rSrc
Исходное растровое изображение.

pDest
Растровое изображение назначения.

cr1
Один из двух кратных цветов, обычно белый.

cr2
Другой цвет дизера, обычно светло-серый (COLOR_MENU).

Замечания

Исходная растровая карта копируется в целевой растровый рисунок с двухцветным шаблоном (cr1 и cr2), заменяющим фон исходного растрового изображения. Фон исходного растрового изображения определяется как его белые пиксели и все пиксели, соответствующие цвету пикселя в левом верхнем углу растрового изображения.

Сравнение версий дитерированных и исходных значков.

Пример

CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
CBitmap bmDith;
AfxGetDitheredBitmap(bm, &bmDith, RGB(255, 255, 255),
   GetSysColor(COLOR_BTNFACE));

Требования

Заголовок: afxwin.h

См. также

Макросы и глобальные