def build(self): # create a floating layout as base camlayout = FloatLayout(size=(600, 600)) cam = Camera() #Get the camera cam=Camera(resolution=(1024,1024), size=(300,300)) cam.play=True #Start the camera camlayout.add_widget(cam) button=Button(text='Take Picture',size_hint=(0.12,0.12)) button.bind(on_press=self.doscreenshot) camlayout.add_widget(button) #Add button to Camera Layout # create a text input box for site name s1 = Scatter(size_hint=(None, None), pos_hint={'x':.01, 'y':.9}) self.site = TextInput(size_hint=(None, None), size=(150, 50), multiline=False) # create a text input box for sample (flag) name s2 = Scatter(size_hint=(None, None), pos_hint={'x':.01, 'y':.8}) self.sample = TextInput(size_hint=(None, None), size=(150, 50), multiline=False) # add the text widgets to the window s1.add_widget(self.site) camlayout.add_widget(s1) s2.add_widget(self.sample) camlayout.add_widget(s2) return camlayout
def Mostrar_cam(self): global Cam Cam = Camera() Cam.resolution = (1, 1) # Cam.fullscreen=-1,-1 Cam.size = (680, 460) #Cam.pos=(100,100) Cam.play = True self.CAM_WIDGET.add_widget(Cam)
def build(self): camwidget = Widget() #Create a camera Widget cam = Camera(play=True, index=1) #Start the camera camwidget.add_widget(cam) button=Button(text='screenshot', size_hint=(0.12, 0.12)) button.bind(on_press=self.doscreenshot) camwidget.add_widget(button) #Add button to Camera Widget cam.play=True return camwidget
def build(self): camwidget = Widget() #Create a camera Widget cam = Camera(play=True, index=1) #Start the camera camwidget.add_widget(cam) button = Button(text='screenshot', size_hint=(0.12, 0.12)) button.bind(on_press=self.doscreenshot) camwidget.add_widget(button) #Add button to Camera Widget cam.play = True return camwidget
def Camara(self): camwidget = Widget() #Create a camera Widget cam = Camera() #Get the camera cam.resolution = (640, 480) cam.size = 1000, 800 cam.pos = (-100, -100) cam.play = True #Start the camera camwidget.add_widget(cam) self.WIDGET1.add_widget(camwidget)
def Camara(self, *args): self.Dispersion2() camwidget = Widget() #Create a camera Widget cam = Camera() #Get the camera cam.resolution = (640, 480) cam.size = 1000, 800 cam.pos = (-100, -100) cam.play = True #Start the camera camwidget.add_widget(cam) self.dis2.add_widget(camwidget) self.RelativaDispo.add_widget(self.dis2)
def build(self): camwidget = Widget() #Create a camera Widget cam = Camera() #Get the camera cam=Camera(resolution=(640,480), size=(500,500)) cam.play=True #Start the camera camwidget.add_widget(cam) button=Button(text='screenshot',size_hint=(0.12,0.12)) button.bind(on_press=self.doscreenshot) camwidget.add_widget(button) #Add button to Camera Widget return camwidget
def Camara(self, *args): self.Dispersion2() global cam camwidget = Widget() #Create a camera Widget cam = Camera() #Get the camera cam.resolution = (640, 480) cam.size = 1000, 800 cam.pos = (-100, -100) cam.play = True #Start the camera camwidget.add_widget(cam) self.dis2.add_widget(camwidget) # Mprincipal.add_widget(self.dis2) MCamara.add_widget(self.dis2)
def build(self): # create a floating layout as base camlayout = FloatLayout(size=(600, 600)) cam = Camera() # Get the camera cam = Camera(resolution=(1024, 1024), size=(100, 100)) cam.play = True # Start the camera camlayout.add_widget(cam) #button = Button(text='Take Picture', size_hint=(0.12, 0.12)) #button.bind(on_press=self.screengrab) #camlayout.add_widget(button) # Add button to Camera Layout self.fileprefix = 'snap' return camlayout
def build(self): # Fix the window size # Window.size = (800, 800) # Camera camera = Camera() # Label lab = Label(text="Label") # First Button butt1 = Button(text='Hello world 1') butt1.bind(on_press=callback) # Second Button butt2 = Button(text='Snap') butt2.bind(on_press=callback) # Exit Button butt3 = Button(text='Exit') butt3.bind(on_press=callback) # Container Widget layout = BoxLayout(padding=50) wid = Widget() # layout.add_widget(wid) wid.add_widget(butt1) wid.add_widget(butt2) wid.add_widget(butt3) wid.add_widget(lab) # lab.y = 100 # lab.x = 0 # lab.width = 500 # butt2.x = 200 # butt3.x = 300 layout.add_widget(camera) camera.resolution = (640, 480) # camera.size=(320,200) camera.play = True return layout
def phone(self): button = Button(text='挂断', size_hint=(0.3, 0.15), pos_hint={ 'x': .35, 'y': .05 }) #button.pos_x = 370 #label = Label(text='内容',size_hint=(None, None),size=(300,500)) #初始化摄像头,此时Play=False camera = Camera(id='camera', resolution=(480, 640), play=False, pos=(0, -80)) phoneTime = Label(text="00:00", pos_hint={'x': .15, 'y': .55}) #filename = 'E:\\PythonProjects\\project_kivy\\venv\\share\\kivy-examples\\widgets\\cityCC0.mpg' #filename = 'http://192.168.0.100:8080/' #filename = 'udp://@:192.168.0.100:1234' #filename = 'rtsp://192.168.0.100:8554/play' filename = 'rtsp://192.168.0.100:8554/play' #filename = 'http://192.168.0.100:6060' ''' 当两次连接时,可以正常看视频,当有视频出现,显示视频纹理 size默认值为(100,100) ?添加部件通话时长 连接成功后,得到视频数据时,显示(如何判断) VLC RTSP通过UDP实现,Gstream通过什么? ''' video = Video(source=filename, play='True', pos=(0, 120), volume=0.8) #通话时间 count = 0 relaytiveLayout = RelativeLayout(id='phone') relaytiveLayout.add_widget(camera) relaytiveLayout.add_widget(phoneTime) relaytiveLayout.add_widget(video) relaytiveLayout.add_widget(button) # label = Label(text='内容',size_hint=(None, None)) # floatLayout = FloatLayout(size_hint=(None, None),size=(400, 600)) # floatLayout.add_widget(label) # floatLayout.add_widget(relaytiveLayout) #覆盖整个窗口 popup = Popup(title='正在与谁通话', content=relaytiveLayout, size_hint=(None, None), size=(300, 500), auto_dismiss=False) #self.proxy_ref.add_widget(popup) #print(popup.parent) popup.id = 'popup' #button.pos_x = popup.center_x + (popup.size[0] - button.size[0])/2 #print(camera.size) #print(self.children[0].children) #print(self.ids.popup) #print(camera.properties()) #print(self.id['camera']) #print(type(self.id['popup'])) #print(popup.proxy_ref) ''' 摄像头没有释放,因为属性play值为True ''' button.bind(on_press=popup.dismiss) #button.bind(on_touch_down=cv2.) #button.bind(on_press=) #popup.bind(on_dismiss=self.play) popup.open() for widget in self.walk(): print('{} -> {}'.format(widget, widget.id)) # if isinstance(widget,RelativeLayout): # #print('{} -> {}'.format(widget,widget.id)) # for child in widget.walk(): # print('{} -> {}'.format(child, child.id)) #为什么需要obj,其他值也可以,或许需要它来绑定事件的对象 def closeCamera(obj): print(camera.play) #print(str(obj)) camera.play = False print(camera.play) def closeVideo(obj): video.play = False video.unload() Clock.unschedule(phone_time_callback) def displayPhoneTime(*largs): # obj is float # print('obj is',type(largs)) # print(largs) nonlocal count count = count + 1 #print(count) #true #print(str(video.duration)) phoneTime.text = str(s2t(count)) phone_time_callback = Clock.schedule_interval(displayPhoneTime, 1.) video.bind(on_play=phone_time_callback) #video.bind(play=phone_time_callback) button.bind(on_press=closeCamera) button.bind(on_press=closeVideo) # 稍后启动摄像头 camera.play = True
from kivy.uix.camera import Camera cam = Camera(resolution=(320, 240)) cam.play = True #indica sse esta ativa