|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
||||||
Как получить PointToClient, с изображения, если оно центрировано по panel31.05.2021, 01:54. Показов 1923. Ответов 2
Метки нет (Все метки)
Есть panel, а внутри picturebox. Изображение меньше чем panel по одной из сторон, и оно центрировано. Как следствие - пустые пиксели (в данном случае, сверху и снизу). Требуется: получить PointToClient, но с ИЗОБРАЖЕНИЯ, а не с picturebox.
Скриншот добавил ниже, красная точка - точка клика. Ожидаемый результат - точка отсутствует (или отрицательная, смотря как себя ведет c# в таких условиях), реальный результат - рассчет идет от picturebox, а не от изображения, и пустые пиксели тоже учитываются, ввиду чего указывается координата.
0
|
||||||
| 31.05.2021, 01:54 | |
|
Ответы с готовыми решениями:
2
PointToClient с динамическими контролами На родительской форме расположена panel, при открытие дочерней формы, она прячется под panel Динамическое создание panel в panel |
|
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||||||
| 31.05.2021, 13:05 | ||||||
Сообщение было отмечено Pandamonk как решение
Решение
Я так понимаю, что SizeMode = Zoom?
1
|
||||||
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
|||||||||||
| 31.05.2021, 16:53 [ТС] | |||||||||||
|
@ViterAlex, предполагал, что придется считать отступы, но в целом, надеялся на существования уже готового метода именно в самом классе, который учитывает отступ, но не мог его найти. Также думал создать новое пустое изображение поверх старого, вычислив координаты в клиенте, и использовать его как объект для координаты, но все равно все сводилось к рассчету отступов (винформ изучаю на-практике как-есть, и последнее пытался понять до прочтения вашего сообщения, - что такое dock, archon и margin, предполагая, что что-то из этого даст доступ к значению отступов)
SizeMode всегда стоит как CenterImage, чуть ранее это же изображение большего размера загружается в больший пикчербокс, в котором происходит *скалирование* (код ниже) под малый пикчербокс, как следствие, если стороны изображения в оригинале не равны - в миникопии всегда будут отступы с пустыми пикселями.
И вопрос сверху. Этот способ работает, но при координатах больше\меньше, чем размер изображения, создаются значения, которых в действительности не существует (отрицательные значения к примеру). Я это поправил кодом ниже через изменение координат, но чтение координаты все равно идет с области пикчербокса, а не изображения, поэтому в идеале хотелось бы просто создавать новую пустую область поверх текущего изображения как только изображение загружено, основываясь на смещениях, что вы предоставили выше, чтобы уже с нее получать значение позиции точки и не иметь возможности получать координаты, если точка вне области. Посоветуйте объект\класс, который мог бы тут помочь. Может, это прозрачный битмап размером с изображение, который будет ставится на координатах старого изображения (с учетом его смещения с вашим кодом), и с него уже идет PicturePointToClient, или еще что
0
|
|||||||||||
| 31.05.2021, 16:53 | |
|
Помогаю со студенческими работами здесь
3
Странное наложение Panel/Panel/PictureBox
В Panel-е не появляется скрол, а сам Panel выезжает за границу экрана
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|