if(x>-0 && x <nCols && у >-0 && у < nRows) pixel[nCols * у + x] - color:
}
//«««««««« getPixel »>»»»»
mRGB getPixel(int x. int y)
{
mRGB bad(255.255.255): assertCx >- 0 && x < nCols): assertCy >- 0 && у < nRows); return pixel[nCols * у + x]:
}
}:
// end of class RGBpixmap // конец класса RGBpixmap #endif
// RGBpixmap.cpp - routines to read a BMP file
// RGBpixmap.cpp - подпрограммы для чтения BMP-файла
finclude "RGBpixmap.h" typedef unsigned short ushort: typedef unsigned long ulong: fstream inf;
// global in this file for convenience
// глобальная в этой файле - для удобства
//««««««««««< getShort »»»»»»»»»»
ushort getShortО
// helper function
// вспомогательная функция
{
// BMP format uses little-endian integer types
// в BMP-формате используются целые типы little-endian
// get and construct in memory a 2-byte integer
// stored in little-endian form
// получаем и конструируем в памяти двубайтовое целое.
// записанное в форме little-endian
char ic:
ushort ip:
inf.get(ic): ip - ic; // first byte is little one // первый байт младший Приложение В. Некоторые полезные классы и служебные подпрограммы
inf.get(ic); ip |- ((ushort)ic « 8): // or in high order byte // или в старшем no порядку байте
return ip:
}
//«««««««««« getLong »»»»»»»»»>
ulong getLongO
// helper function
// вспомогательная функция
{
// BMP format uses little-endian integer types // в BMP-формате используются целые типы little-endian // get and construct in memory a 4-byte integer stored in // little-endian form
// получаем и конструируем в памяти четырехбайтовое целое.
// записанное в форме little-endian ulong ip - 0: char ic - 0:
unsigned char uc - ic: inf.get(ic): uc - ic: ip - uc: inf.get(ic); uc - ic: ip |-((ulong)uc « 8): inf.get(ic): uc - ic: ip |-((ulong)uc « 16): inf.get(ic): uc - ic: ip |-((ulong)uc « 24); return ip: