Справочник советов и примеров по C++Builder

Графика и мультимедиа


  1. Преобразование битового изображения из цветного в 256 градаций серого

    // Преобразование осуществляется следующей функцией:
    void SetBitmapPaletteToGreyScale(Graphics::TBitmap *pBitmap)

    {

    LOGPALETTE *pal;

    HPALETTE hpal;

    int i;

    int PaletteSize; //Size of the palette buffer

    pBitmap->PixelFormat = pf8bit;

    pal = NULL;



    PaletteSize = sizeof(TLogPalette) + (sizeof(TPaletteEntry) * 255);

    pal = (LOGPALETTE *) malloc(PaletteSize);

    pal->palVersion = 0x300;

    pal->palNumEntries = 256;

    for (i = 0 ; i

    {

      pal->palPalEntry[i].peRed = i;

      pal->palPalEntry[i].peGreen = i;

      pal->palPalEntry[i].peBlue = i;

      pal->palPalEntry[i].peFlags = PC_NOCOLLAPSE;

    }

    hpal = CreatePalette(pal);

    if(hpal != 0) pBitmap->Palette = hpal;

    free(pal);

    }

  2. Как пpоигpать MIDI без MediaPlayer-а

    // Для того чтобы проиграть MIDI:
    #include <mmsystem.h>

    mciSendString("open anny.mid type sequencer alias MUSIC", NULL, 0, 0);

    mciSendString("play MUSIC from 0", NULL, 0, 0);

  3. Как воспроизвести звуковой файл без MediaPlayer-а

    // Для того чтобы воспроизвести звуковой файл:

    // напишите следующий код

    #include "mmsystem.h"
    DWORD fdwSound = SND_ASYNC | SND_FILENAME;

    PlaySound("C:\\click.wav",NULL, fdwSound);

  4. Как рисунок TBitmap сделать монохромным?

    // напишите следующий код

    BMP.Monochrome = true ; //где BMP - TBitmap



    Содержание раздела