|
3 / 3 / 3
Регистрация: 10.03.2015
Сообщений: 62
|
||||||
Доступ к bitmap и элементам формы из другого потока. Вычисление площади произвольной фигуры16.02.2016, 16:31. Показов 2034. Ответов 6
Метки нет (Все метки)
Делаю программу для демонстрации вычисления площади произвольной фигуры различными методами (Монте-Карло, перебор и др.). Фигура создаётся из координат мыши в событиях MouseDown/Move/Up и сохраняется в List в виде точек, который потом отображается на bitmap как полигон.
В основном потоке из события OnPaint идёт доступ к двум bitmap'ам (фигура и маска для отображения работы методов)
Как можно это грамотно реализовать, чтоб при этом не умирал интерфейс во время вычислений? И ещё, Get и Set Pixel достаточно быстро работают, чтоб использовать их в таком ключе?
0
|
||||||
| 16.02.2016, 16:31 | |
|
Ответы с готовыми решениями:
6
|
|
3 / 3 / 3
Регистрация: 10.03.2015
Сообщений: 62
|
|
| 16.02.2016, 18:23 [ТС] | |
|
0
|
|
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||
| 16.02.2016, 19:15 | ||
|
На счет проблемы с доступом-а зачем вы вообще перерисовываете на экране битмап, в котором что-то делает другой поток? Подождите сначала, пока доделает, а потом уже отображайте. А для доступа к контролам из других потоков есть Invoke/BeginInvoke.
0
|
||
|
|
|
| 16.02.2016, 19:28 | |
|
sereja322, Вам не нужно ни создавать Bitmap, ни обращаться к нему.
Вместо этого используйте GraphicsPath. GraphicsPath может использоваться как для прорисовки, так и для математических вычислений. Находится ли точка внутри фигуры можно определить методом IsVisible.
0
|
|
|
3 / 3 / 3
Регистрация: 10.03.2015
Сообщений: 62
|
|||||||||||||
| 16.02.2016, 20:49 [ТС] | |||||||||||||
|
Добавлено через 1 час 17 минут
0
|
|||||||||||||
|
|
||
| 17.02.2016, 05:31 | ||
|
К тому же, вычислять монте-карло на битмапе - не рационально. Ведь в битмапе можно просто посчитать число всех заполненных точек - и получим площадь.
0
|
||
| 17.02.2016, 05:31 | |
|
Помогаю со студенческими работами здесь
7
Доступ к элементам формы из другого класса/Потока Обращение к элементам формы с другого потока Обращение к элементам формы из другого потока Обращение к элементам формы из другого потока Доступ к элементам формы из потока Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|