Есть ли программа, которая может выводить координаты X & Y периметра черных пикселей? - PullRequest
0 голосов
/ 27 ноября 2018

Я играю в лабиринт VB и хочу, чтобы курсор игрока не мог перемещаться по черным линиям в лабиринте.Однако я изо всех сил пытаюсь использовать графический блок с прозрачностью.

Я попытался запрограммировать свой код так, чтобы, когда граница рамки изображения игрока пересекалась с (черными) пикселями рамки изображения лабиринта, она перестала двигаться.Однако я не могу найти эту функцию в VB.

Лучше ли создать список координат периметра черных линий, чтобы, когда cursor.location = одна из указанных координат, она "отскакивала"?

У меня вопрос, есть ли программа, которая может легко анализировать мое простое черно-белое изображение лабиринта и выводить все координаты периметра черных пикселей?

Лабиринт: https://ibb.co/rwN9S4f

1 Ответ

0 голосов
/ 27 ноября 2018

Существует два подхода, которые вы должны рассмотреть, в зависимости от того, как вы строите свой лабиринт.

Если вы хотите использовать изображение , вам потребуется выполнить некоторую обработку изображения.Без дальнейших объяснений я уже могу сказать вам, что вы захотите использовать библиотеку для этого.Это может, однако, не соответствовать вашим потребностям, так как это может быть школьная работа или что-то в этом роде.

Что касается того, «как использовать библиотеку обработки изображений», это вопрос сам по себе.Когда вы решите один из них, вам следует прочитать учебные пособия.

Если вы не хотите использовать специальную библиотеку , вы можете нарисовать свой собственный лабиринт.В сети есть алгоритмы построения лабиринта. ЭТА СТРАНИЦА было бы хорошим началом, например.Принцип часто один и тот же: вы делите свое пространство на сетки и делите эти сетки на белые блоки со стенами.

Веселитесь!

РЕДАКТИРОВАТЬ:

(1)

Вот забавный способ конвертировать изображение в массив байтов:

Dim converter As New ImageConverter
nRow.Signature = converter.ConvertTo(imgSignature, GetType(Byte())
...