Справочник по компонентам Delphi. Часть 1
Страница 32. Функции для работы с графикой


 

Функции для работы с графикой

В модуле GRAPHICS сосредоточен целый ряд полезных функций:

function GraphicFilter(GraphicClass: TGraphicClass): string;

Эту функцию удобно использовать вместе с диалогами открытия и закрытия файла. Для заданного класса GraphicClass она вернет строку, которую сразу можно присвоить свойству Filter диалога. Например, для TBitmap она вернет строку 'Bitmaps (*.BMP)|*.BMP'.

function GraphicExtensionfGraphicClass: TGraphicClass): string;

Возвращает строку, содержащую расширение, которое встречается у фай­лов в формате GraphicClass. Например, GraphicExtension(TIcon) равно строке 'ICO'.

function ColorToRGB(Color: TColor): Longint;

Преобразует значение типа TColor в фор­мат RGB.

function ColorToIdent(Color: Longint; var Ident: string): Boolean; function IdentToColor(const Ident: string; var Color: Longint):Boolean;

Функции взаимного преобразования цвета в строку с его названием (опреде­ленным в модуле GRAPHICS). Например, ColorToIdent(clWhite, AString) присвоит AString значение 'clWhite'. В случае неуспеха возвращается False;

function ColorToString(Color: Tcolor): string; function StringToColorfS: string): TColor;

Назначение аналогично двум предыдущим функциям. При отсутствии цвета Color в списке предопределенных цветов возвращается строка с его значением в шестнадцатиричном формате. При отсутствии цвета с именем S (в том же списке) делается попытка преобразовать строку в число, в случае неудачи возникает исключительная ситуация.

procedure GetColorValues(Proc: TGetStrProc);

Производит вызов определенной пользователем процедуры Proc для всех имеющихся в списке цветов. В качестве параметра в такую процедуру передается строка с именем цвета. Эта процедура используется в примере MOVLINES на прилагаемой к книге дискете.

Для преобразования битовой карты из зависимого от устройства формата DDB в независимый (DIB) предназначены две функции:


procedure GetDIBSizes(Bitmap: HBITMAP; var InfoHeaderSize: Integer; var ImageSize: Longint);

Возвращает размер заголовка изображения и размер самого изображения. Значение InfoHeaderSize равно размеру структуры TBitmapInfoHeader плюс, при необходимости, размеру палитры (каждый элемент которой TRGBQuad занимает 4 байта). В ImageSize возвращается коли­чество байт, которое нужно отвести для получения изображения в формате DIB.

function GetDIBfBitmap: HBITMAP; Palette: HPALETTE; var Bitmaplnfo; var Bits): Boolean;

Преобразует DDB (определенную через Bitmap и Palette) в DIB. Заголовок помещается в Bitmaplnfo, а сами данные — в Bits.

 
 
« Предыдущая статья   Следующая статья »