Как установить настраиваемую ширину границы объектов в графике Turbo C ++?

Мне нужна помощь, так как я рисую некоторые фигуры, используя graphics.h в
Компилятор TURBO C ++
Мне нужно увеличить ширину границы фигуры, так как она едва видна
пожалуйста, скажите мне функцию (если существует) ИЛИ другой способ.

-1

Решение

Я еще не достаточно взрослый, чтобы когда-либо использовать Turbo C ++, но если функции рисования формы не принимают параметр или не предоставляют какой-либо другой способ задания ширины границы, вам придется реализовать его по-другому.

Вы можете написать свои собственные функции рисования формы, чтобы обеспечить дополнительные функциональные возможности, которые вы хотите. Это на самом деле не так уж сложно, и, вероятно, научит вас достаточно о графическом программировании. Несколько лет назад, когда фактически использовался Turbo C ++, многие буржуазные программисты написали свои собственные движки 2D-графики, как для образовательных целей, так и для ускорения реализации Borland.

Если вы не хотите выполнять такую ​​большую работу, вы можете решить эту проблему, итеративно вызывая функции рисования фигуры с все меньшими границами. По сути, если фигура рисуется по умолчанию с границей в 1 пиксель, вы просто многократно рисуете фигуру, каждый раз уменьшая ее границы на 1 пиксель.

Я абсолютно не представляю, как выглядят API-интерфейсы Graphics.h, поэтому приведу пример, в котором используется графический API-интерфейс моего собственного изобретения:

// Start with the initial bounds of the shape that you want to draw.
// Here, we'll do a 100x100-px rectangle.
RECTANGLE rc;
rc.left   = 50;
rc.top    = 50;
rc.right  = 150;
rc.bottom = 150;

// Let's assume that the default is to draw the shape with a 1-px border,
// but that is too small and you want a 5-px thick border instead.
// Well, we can achieve that by drawing the 1-px border 5 times, each inset by 1 pixel!
for (int i = 1; i <= 5; ++i)
{
DrawRectangle(&rc);

rc.left   += 1;
rc.top    += 1;
rc.right  -= 1;
rc.bottom -= 1;
}
1

Другие решения

Я не использую BGI, но из краткого обзора его функций я бы попробовал:

поэтому установите толщину на то, что вам нужно … например:

setlinestyle(SOLID_LINE,0xFFFF,10);

куда 10 должна быть ширина границы

1