Справочник по компонентам Delphi. Часть 1 - Функции для работы с графикой
ОГЛАВЛЕНИЕ
Страница 32 из 40
Функции для работы с графикой
В модуле 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. |