Borland C++ FAQ
Страница 3. Графика и мультимедиа



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

  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 <= 255; 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

 

 

 
« Предыдущая статья