|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.07.2021, 14:13 | #1 |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 138
|
Разбираем mspaint на составляющие
Кто-нибудь знает при помощи каких компонентов Delphi можно реализовать:
1) область рисования (холст) как в программе mspaint? 2) текстовую надпись как в программе mspaint? 3) возможность изменения размера холста и рамки тестовой надписи при помощи мыши как в программе mspaint? |
15.07.2021, 16:19 | #2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,536
|
|
15.07.2021, 17:18 | #3 | |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 138
|
Цитата:
|
|
15.07.2021, 18:13 | #4 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Ставите Delphi 7 открываете папку с примерами там будет такая рисовалка наподобие патента. Изучаете код получаете профит.
А вот векторный редактор можете у меня подсмотреть https://gitlab.com/pavia00/veditor/t...BD%D0%B8%D1%8F
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
16.07.2021, 12:25 | #5 | |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 138
|
Цитата:
|
|
25.08.2021, 18:24 | #6 |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 138
|
Я использую компонент Paintbox для создания холста. Если мне нужно чтобы размер холста соответствовал размеру бумаги А4 (210х297мм) или А5 (148х210мм), то как правильно перевести миллиметры в пиксели, т.к. свойства height и width компонента Paintbox задаются в пикселях?
|
25.08.2021, 20:07 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,285
|
На мой взгляд нужно отталкиваться от требуемого DPI (https://ru.wikipedia.org/wiki/Dots_per_inch).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
25.08.2021, 21:37 | #8 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
Понятие DPI это виртуальное понятие. Иногда оно равно 96 иногда 72 иногда 300 и даже 3600. Для печати вам надо открыт принтер и он вернёт своё значение DPI а так же размеры листа. Обычно когда создают картинку DPI холста приравнивают 96. Если вы загружаете картинку из файла, то у неё будет свой DPI отличны от 96. А потом её выводят на принтер отмасштабировав под нужные размеры. Как это сделано можно подсмотреть к примеру здесь: https://github.com/BerndGabriel/Html...ce/vwPrint.pas Код:
А ещё к примеру у Word есть фича если установить масштаб=100% и приложить лист бумаги то они совпадут. Там тоже делают масштабирование под нужные размеры DPI монитора. Только получить его DPI сложнее.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
25.08.2021, 22:21 | #9 | |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
Цитата:
У меня например 125% и стандартный лист гораздо меньше того, что показывает Word на 100% |
|
26.08.2021, 16:44 | #10 | ||
Форумчанин
Регистрация: 14.03.2012
Сообщений: 138
|
Если я правильно рассчитал, то холст равный размеру бумаги А4 будет 794х1123 пикселей и А5 будет 559х794 пикселей при условии что DPI = 96.
Цитата:
Цитата:
Всем спасибо за ответы. |
||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разбираем программу по частям! | Hac | Свободное общение | 2 | 20.10.2018 23:44 |
Разбираем программу . | Kirill01 | Софт | 2 | 17.08.2013 21:21 |
Составляющие COM кабеля. | ImmortalAlexSan | Компьютерное железо | 2 | 16.08.2010 18:50 |
Составляющие строки | V@mpir | Общие вопросы Delphi | 12 | 06.10.2009 00:48 |