Рухомий рядок на LabVIEW


Рекламу на електронних табло у вигляді рухомого рядка ми бачимо досить часто. Особисто я якось не замислювався про те, чи можна зробити рухомий рядок на LabVIEW. Не задумувався до тих пір, поки не побачив у російськомовному підрозділі форуму про LabVIEW відповідну тему, яка називалася “помогите сделать бегущую строку“.

Топікстартер якось не надто конкретно сформулював задачу, тому я вирішив розглянути найпростіший її варіант і просто кожну букву алфавіту представити у вигляді матриці 5х5 точок. Відповідно, кожну букву шрифту “намальовано вручну”, так що ніяких претензій до естетики не приймаю 🙂

Рухомий текст на LabVIEW

Рухомий текст на LabVIEW - частина 1

Пояснення того, що тут робиться, наведено на самій ілюстрації, але у двох словах: маємо 2 масиви – один із буквами алфавіту (я вибрав латиницю, бо там менше букв), а другий – із нашим шрифтом. Другий масив – трьохмірний, містить кожну букву у окремому “шарі” (на рисунку якраз показано 25й символ).

У циклі введене користувачем слово ділиться на окремі букви, потім ці букви шукаємо у масиві з алфавітом і отримуємо номер букви, за яким із 3D масиву витягуємо матрицю з символом. У другій половині ілюстрації (тій, що праворуч) з цих символів утворюється слово. Код там не дуже акуратний, наприклад двічі використовується транспонування матриці, хоча можна було і без цього обійтися, але у порівнянні із другою половиною програми – це шедевр 🙂

Рухомий текст на LabVIEW - частина 2

Рухомий текст на LabVIEW - частина 2

Тут все взагалі страшно неестетично, зате кожен може тепер попрацювати над оптимізацією.

Двомірний масив зі словом ми ділимо на горизонтальні “смужки” (всього 5, оскільки така висота кожного символу). Далі у циклі кожну з цих “смужок” циклічно зсуваємо на 1 символ (константа -1 показує, що зсуваємо ліворуч), знову формуємо з них 2D масив і виводимо на лицьову панель. Виглядає воно отак:

Почитайте ще оце:

Залиште коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *