План помещение на базе thinker

maksim992538

Новичок
Пользователь
Мар 3, 2021
2
0
1
  1. Сижу на windows 10 64
  2. Версия python 3.9
Привет народ!
Есть задумка для автоматизации рабочих моментов, хотел бы по возможности получить ответ.
В кратцах о задумке, есть здание с 3 этажами на каждом этаже двери СКУД(Система контроля доступа), коммуникационные шкафы и камеры и всё это в большом количестве, я хочу с помощью thinker, sqlite3 возможно с pil сделать программулину на которой будет отображаться данная информация.
Суть вопроса можно ли как то ставить метки на изображения из самой программы и сохранять всё в базу и потом после следующего все данные бы подтягивались из базу.
типа такого:
красные вот это метки, но желательно налаживать именно иконку какую нибудь с названием на основное изображение и когда нужно можно будет удалить.
Screenshot_4.png
До этого делел скрипт который мониторит камеры на базе TRassir и когда камера отвалилась сразу приходит сообщение и теперь всё хочу сделать с планом и метками и засунуть всё это в базу .
Не прошу расписывать досконально как и что сделать, по возможности натолкните на правильный путь ;-)

 

Noor

Пользователь
Пользователь
Ноя 13, 2020
85
19
8
Как я смог понять, у вас будет какой-то план помещения, вы на нем рисуете\делаете отметки (к примеру расположение камер) и при следующей загрузке эти отметки должны быть на тех же местах (с возможностью их удалить\поменять)?
Попробуйте посмотреть в сторону canvas + https://younglinux.info/tkinter/canvas + https://anzeljg.github.io/rin2/book2/2405/docs/tkinter/create_oval.html + https://www.geeksforgeeks.org/python-tkinter-moving-objects-using-canvas-move-method/

Вот пример загрузки картинки на канву и отрисовка красного овала в нужной точке
Python:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
root.geometry('850x400')
canvas = Canvas(root,width=999,height=999)
canvas.pack()
pilImage = Image.open("Screenshot_4.png") #загружаем картинку
image = ImageTk.PhotoImage(pilImage)
imagesprite = canvas.create_image(420,200,image=image)
oval = canvas.create_oval(20, 20, 10, 10, fill='green', outline='green') #рисуем овал
canvas.move(oval, 100, 100) #размещаем овал в конкретной точке на канве
root.mainloop()

result:
1614766188131.png

1. Как вариант, написать скрипт который будет мониторить камеры и если камера отвалилась то будет менять в базе, для конкретной камеры, цвет с green на red, тогда при открытии программы наглядно будет видно какая из камер отвалилась.
2. На хавер точки выводить текст, в какое время камера была последний раз онлайн или любую другую статистику по работе камеры

А если нужно картинку камеры, то можно так

Python:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
root.geometry('850x400')
canvas = Canvas(root,width=999,height=999)
canvas.pack()
pilImage = Image.open("Screenshot_4.png")
image = ImageTk.PhotoImage(pilImage)
imagesprite = canvas.create_image(420,200,image=image)

pilCam1 = Image.open("cam1.png") #загружаем картинку камеры
imageCam = ImageTk.PhotoImage(pilCam1)
imagesprite = canvas.create_image(300,200,image=imageCam) #показываем камеру в нужном месте
root.mainloop()

result:
1614767909395.png

Тут посмотри пример рисовалки мышкой по канве
 
Последнее редактирование:
  • Мне нравится
Реакции: maksim992538

maksim992538

Новичок
Пользователь
Мар 3, 2021
2
0
1
Как я смог понять, у вас будет какой-то план помещения, вы на нем рисуете\делаете отметки (к примеру расположение камер) и при следующей загрузке эти отметки должны быть на тех же местах (с возможностью их удалить\поменять)?
Попробуйте посмотреть в сторону canvas + https://younglinux.info/tkinter/canvas + https://anzeljg.github.io/rin2/book2/2405/docs/tkinter/create_oval.html + https://www.geeksforgeeks.org/python-tkinter-moving-objects-using-canvas-move-method/

Вот пример загрузки картинки на канву и отрисовка красного овала в нужной точке
Python:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
root.geometry('850x400')
canvas = Canvas(root,width=999,height=999)
canvas.pack()
pilImage = Image.open("Screenshot_4.png") #загружаем картинку
image = ImageTk.PhotoImage(pilImage)
imagesprite = canvas.create_image(420,200,image=image)
oval = canvas.create_oval(20, 20, 10, 10, fill='green', outline='green') #рисуем овал
canvas.move(oval, 100, 100) #размещаем овал в конкретной точке на канве
root.mainloop()

result:
Посмотреть вложение 1120

1. Как вариант, написать скрипт который будет мониторить камеры и если камера отвалилась то будет менять в базе, для конкретной камеры, цвет с green на red, тогда при открытии программы наглядно будет видно какая из камер отвалилась.
2. На хавер точки выводить текст, в какое время камера была последний раз онлайн или любую другую статистику по работе камеры

А если нужно картинку камеры, то можно так

Python:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
root.geometry('850x400')
canvas = Canvas(root,width=999,height=999)
canvas.pack()
pilImage = Image.open("Screenshot_4.png")
image = ImageTk.PhotoImage(pilImage)
imagesprite = canvas.create_image(420,200,image=image)

pilCam1 = Image.open("cam1.png") #загружаем картинку камеры
imageCam = ImageTk.PhotoImage(pilCam1)
imagesprite = canvas.create_image(300,200,image=imageCam) #показываем камеру в нужном месте
root.mainloop()

result:
Посмотреть вложение 1121

Тут посмотри пример рисовалки мышкой по канве


Спасибо огромное, я очень благодарен!!!!
 

Форум IT Специалистов