ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Создание изображения


Последовательность запроса, чтобы создать изображения для полей ввода изображения и кнопок изображения подобна обрабатывающей списку последовательности. Ads_start_image () функция начинает создание изображения, и ads_end_image () заканчивает это. Однако, опции для того, чтобы рисовать определены следующей отдельной функцией, вызывает вместо параметров:

§

N ads_vector_image () рисует вектор (единственный, прямо выравнивать) в текущем изображении.

§         N ads_fill_image () рисует заполненный прямоугольник в текущем изображении.

§         N ads_slide_image () рисует слайд AutoCAD в изображении.

Векторы и заполненные прямоугольники полезны для простых изображений, типа цветных образчиков (заполненные прямоугольники) использования диалогового окна AutoCAD Select Color, чтобы отобразить выбор пользователя цвета. Для сложных изображений, слайды более удобны. Однако их отображение может быть потребление время. Если Вы используете их, сохраните их простой.

Рисующая изображение функция, ads_vector_image (), требует, чтобы Вы определили абсолютные координаты, в то время как ads_fill_image () и ads_slide_image () требуют стартовой координаты с относительной шириной и высотой. Чтобы делать это правильно, Вы должны знать точные измерения о поле ввода изображения или кнопке изображения. Поскольку эти измерения обычно назначаются, когда диалоговое окно размещено, пакет PDB обеспечивает функцию, ads_dimensions_tile (), который возвращает ширину и высоту специфического поля ввода. Вызовите эту функцию прежде, чем Вы начинаете создавать изображение. Начало координат поля ввода (0,0), является всегда его левым верхним углом.

Цвета могут быть определены как номера цвета AutoCAD или как один из “логических” номеров цвета, показанных в следующей таблице.

ADI

номера цвета

Цвет

Номер

Мнемоническое описание ADI

-2

BGLCOLOR

Текущий фон экрана графики AutoCAD

-15

DBGLCOLOR

Текущий цвет фона диалогового окна

-16

DFGLCOLOR

Цвет символа диалогового окна Current (для текста)

-18

LINELCOLOR

Диалоговое окно текущего цвета линии

<
Значения и мнемоника определены Интерфейсом Устройства Autodesk (ADI).

В следующем примере, “cur_color” - поле ввода изображения, которое будет заполнено полностью заплатой красных. Только один запрос необходим, чтобы получить измерения изображения:

short width, height;

ads_dimensions_tile(hdlg, "cur_color", &width, &height);

ads_start_image(hdlg, "cur_color");

ads_fill_image(0, 0, width, height, 1); // 1 == red.

ads_end_image();

Рисующие изображение функции могут использоваться друг с другом. Здесь, код заполняет изображение и затем рисует вертикальную полосу по этому:

short width, height, x;

ads_dimensions_tile(hdlg, "stripe", &width, &height);

ads_start_image(hdlg, "stripe");

ads_fill_image(0, 0, 0, height, 3); // 3 == AutoCAD green.

// Center the vector vertically.

//

x = width/2;

ads_vector_image(x, 0, x, height, 4); // 4 == cyan.

ads_end_image();

Скольжения, которые Вы отображаете с ads_slide_image () могут быть автономное скольжение (.sld) файлы или часть библиотеки скольжений (.slb) файл. Если скольжение находится в .sld файле, Вы определяете его имя без .sld расширения (например, “frntview”). Если скольжение находится в библиотеке скольжений, Вы определяете имя библиотеки сначала (без расширения), сопровождаемый именем скольжения непосредственно (также без расширения) включенный в круглые скобки (например, “ allviews (frntview) ”). Ads_slide_image () функциональные исследования скольжения или файла библиотеки скольжения согласно потоку путь поиска файлов библиотеки AutoCAD.

Скольжение в следующем примере находится в отдельном файле, вызвал topview.sld:

short x, y;

ads_dimensions_tile(hdlg, "view", &x, &y);

ads_start_image(hdlg, "view");

ads_slide_image(0, 0, x, y, "topview");

ads_end_image();

Векторы в скольжениях часто рисуются в белом (номер цвета 7), который является заданным по умолчанию цветом фона изображения. Если ваше поле ввода изображения - пробел, когда Вы сначала отображаете скольжение, пробуете изменить его цветной атрибут к graphics_background. (Вы можете также изменять фон изображения,  предшествуя ads_slide_image () запрос с ads_fill_image () запрос).


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