Delphi

Rectangle delphi: Изучаем Delphi — Введение в ООП

Работа с экраном в Delphi » DelphiComponent.ru

Работа с экраном в Delphi

Для первой кнопки напишем в событии onclick содержимое листин­га: 

 

Показать / Скрыть текст

С помощью этой процедуры мы рисуем прямо на экране, вне области окна своей программы. Во время рисования не обращаем внимания на запущенные приложе­ния. Если они попадаются, то рисование происходит поверх них.

 

Теперь о содержимом программного кода. Вначале объявлена переменная ScreenDC типа hdc. hdc — это тип контекста рисования самой Windows, и работает он почти так же, как и TCanvas (чуть позже вы увидите связь). С помощью функ­ции GetDC(0) мы получаем контекст окна, указанного в качестве параметра. Но в скобках стоит 0 (ноль), а не указатель на реальное устройство или окно. Это зна­чит, что мы хотим получить глобальный контекст, т. е. самого экрана.

 

Далее вызывается функция Rectangle, она похожа на ту, что мы использовали раньше, когда работали с холстом TCanvas. Rectangle. Есть только одно отли­чие— первый параметр — теперь контекст устройства, а затем идут координаты прямоугольника. Это связано с тем, что раньше мы рисовали через объект TCanvas, который привязан к определенному компоненту. А это значит, что объект может самостоятельно подставлять указатель на свой объект. Сейчас мы будем рисовать средствами GDI Windows. Его функция Rectangle универсальна и не связана с оп­ределенными элементами управления или окнами. Если честно, то процедура TCanvas.Rectangle всего лишь вызывает Rectangle из Windows API и подставляет нужный контекст устройства и размеры, поэтому в ней на один параметр меньше. Сейчас мы сами делаем это без помощи TCanvas.

 

После рисования освобождается больше не нужный контекст рисования через функцию ReleaseDC. Такие вещи обязательно надо делать, чтобы не засорять память.

Если вы захотите рисовать не на экране, а внутри определенного окна, то в этой процедуре нужно поправить только первую строку. А именно — в качестве пара­метра GetDC передавать указатель на окно.

ПРИМЕЧАНИЕ. Указатель окна находится в свойстве Handle объекта TForm.

Сейчас можно запустить программу и посмотреть на результат. Теперь перей­дем ко второй кнопке. Для нее напишем (для процедуры события onclick) содер­жимое листинга:

 

 

Показать / Скрыть текст

Здесь мы получаем копию экрана и сохраняем ее в компоненте image1.

 

Первая строка такая же, как и в предыдущей процедуре. Мы точно так же полу­чаем контекст рисования экрана. Потом инициализируется переменная canvas ти­па TCanvas (знакомый нам контекст рисования). Потом мы связываем их между собой с помощью простого присваивания в canvas.Handle:=screenDC. Теперь TCanvas указывает на экран, и можно рисовать на нем привычными методами. Те­перь вы видите связь между холстом canvas и контекстом рисования hdc. Объект холста всегда содержит указатель на контекст рисования hdc в свойстве handle и использует этот контекст при вызове всех своих методов (таких как Rectangle). Для компонентов Delphi это свойство заполняется автоматически, и нам не надо о нем заботиться.

 

Получается, что TCanvas— это объект, который упрощает в Windows API- функции и превращает работу с графикой в объектную.

Далее мы получаем копию экрана и записываем ее в картинку Timage с помощью функции CopyRect У контекста рисования картинки (imagel .Canvas .CopyRect).

После копирования нужно освободить контекст рисования ScreenDC и создан­ный холст canvas, чтобы освободить выделенную память.

 

Помоги проекту! Расскажи друзьям об этом сайте:


Закругленная труба против прямоугольной трубы — Производство

SheptheSheep

#1

Наша команда закончила с набором закругленных 1/16-дюймовых алюминиевых колес 2×1, которые мы хотели использовать на боковых ограждениях межсезонья на западном побережье. Есть ли что-нибудь против использования закругленных труб в этом приложении?

1 Нравится

cad321

#2

Какие опорные блоки (если они есть) вы используете для своего WCD? Зажим, такой как TTB или VEX, может не работать с трубкой 2×1 со слишком большим закругленным углом (нет материала, за который можно было бы вгрызаться).

1 Нравится

SheptheSheep

#3

Мы используем нестандартные зажимные подшипниковые блоки типа 971, подобные показанным на рисунке, но мы используем 1/8″ 2×1 для направляющих и закругленную трубу только для боковых направляющих (или передних и задних направляющих). подходит для этого приложения?

2 лайка

cad321

#4

На первый взгляд я не вижу ничего, что заставило бы меня сказать, что они не будут работать в этом приложении.

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

3 нравится

troy_dietz

#5

IIRC сделает цепь в трубе раздражающей/невозможной в зависимости от радиуса, но я хотел бы думать, что мир ушел от CiT.

2 лайков

SheptheSheep

8 ноября 2022 г., 4:24

#6

Как вы думаете, почему мир перешел от цепочки в трубке (просто любопытно), может быть, меньше ограничений по пространству?

troy_dietz

#7

Затраты-выгоды

Затраты: место, время, специальные звездочки, повышенная сложность ремонта (хотя вряд ли поломка)

Преимущества: например, на 1 дюйм больше места внутри рамы робота, защита от обломков ковра

Дополнительные затраты: это а не COTS swerve. Практически каждая команда там достаточно, чтобы сделать CiT теперь использует swerve.

Патрик3357

#8

Мы с удовольствием используем цепь в трубе. Держит провода подальше от цепи, сверхлегкий, в нашей последней версии мы весим около 25 фунтов для полной приводной базы с электроникой. У нас также есть сменные приводные рейки, поэтому мы можем хранить запасные части и восстанавливать их на досуге.

Настоятельно рекомендуется всем, кто не прыгает в сворачивающий поезд.

Технолог00

#9

Какие звездочки вы используете для цепи в трубе?

Патрик3357

#10

WCP имеет специальную цепь в трубчатых звездочках: звездочки №25 — WestCoast Products

2 Likes

Прямоугольная подставка для журнального столика Woodard Delphi

*COVID-19 и проблемы с цепочками поставок: ожидайте задержек — нажмите здесь, чтобы узнать подробности.

Главная > Уличная мебель > Садовые столы > Основания для садовых столов > Основания для журнальных столиков > Основания для журнальных столиков Woodard >

Все товары Woodard

Цена: $870,80Распродажа: $870,80

БЕСПЛАТНАЯ ДОСТАВКА ПО ВСЕЙ РОССИИ!

Рекомендуемая производителем розничная цена: 1 244,00 долларов США | Было: 870,80 долларов США СОХРАНИТЬ: $373,20 (30,0%)

Товар №: 854500

Гарантия низкой цены


Выберите . .. Цвет рамыСостаренный тик — 12 / добавьте 48,75 долл. США Яблочно-зеленый — 74Аруба — 76 / добавьте 48,75 долл. США Ацтекская бронза — 81 Полированный хром — 95 / добавьте 48,75 долл. США Карбон — 80 Каштановый коричневый — 48 Китайский красный — 69 / добавьте 48,75 долл. США Хромит — 15 / добавьте 48,75 долл. США Классический Синий — 22Эспрессо — 45Графит — 43Серый шиммер — 03Белый чекан — 20Хаки — 53Оникс Галька — 66 / добавить $48,75Олово — 72Песчаник — 19Гладкий черный — 21Текстурированный черный — 92Текстурированный темно-синий — 78Сумерки — 93Потертый белый — 70 / добавить $48,75





Запросить бесплатные образцы

  • Описание
  • Размеры
  • отзывов
  • 1 из 2 подставок для кофейных столиков из этой линейки подставок для столов высокого дизайна
  • Демонстрирует скульптурные линии и четкие детали: потрясающее дополнение к любому жилому пространству на открытом воздухе
  • Известен своей фирменной круглой эмблемой
  • Идеально подходит для использования с коллекцией сидений Delphi, но будет сочетаться с различными коллекциями Woodard
  • Подходит для 36″ x 48 прямоугольные столешницы
  • Изготовлены из высококачественного алюминия для длительного использования на открытом воздухе
  • Доступны все варианты металлической отделки Woodard: стандартная и премиальная (премиальная отделка за дополнительную плату)
  • Изготовлено в Овоссо, штат Мичиган
  • Используется только самый чистый алюминиевый профиль и самые прочные слитки

Размеры изделия

Overall Weight
32. 75″L x 25.5″W x 20″H 18 lbs.

Style:

Traditional

Material:

Aluminum

Collection:

Aluminum Bases

About Woodard

As a distinguished производитель уличной мебели с более чем полуторавековым стажем, компания Woodard предлагает широкий выбор алюминиевых, кованых и плетеных изделий в традиционном и современном стилях. Известная тем, что предлагает превосходную мебель по доступной для потребителя цене, компания использует методы ручного производства, используя инновационные технологии производства. Результатом стала мебель, которая чтит традиции мастерства Вударда, поднимая планку для использования на открытом воздухе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *