bugfix
This commit is contained in:
parent
66bc5c375f
commit
c6371ce257
11
c4k/conf/config.json
Normal file
11
c4k/conf/config.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"font_sizes":{
|
||||
"smallest":1.5,
|
||||
"small":2.5,
|
||||
"normal":3.5,
|
||||
"large":4.5,
|
||||
"huge":5.5,
|
||||
"hugest":6.5
|
||||
},
|
||||
"font_name":"normal"
|
||||
}
|
87
c4k/main.py
Normal file
87
c4k/main.py
Normal file
@ -0,0 +1,87 @@
|
||||
from kivy.uix.boxlayout import BoxLayout
|
||||
from camera4kivy import Preview
|
||||
from kivyblocks.utils import blocksImage, CSize
|
||||
from kivyblocks.clickable import ClickableImage
|
||||
from kivy.app import App
|
||||
from kivy.utils import platform
|
||||
from kivy.clock import Clock
|
||||
|
||||
class NewCamera(BoxLayout):
|
||||
def __init__(self, **kw):
|
||||
super().__init__(orientation='vertical')
|
||||
self.preview = Preview(**kw)
|
||||
self.add_widget(self.preview)
|
||||
box = BoxLayout(orientation='horizontal',
|
||||
size_hint_y=None,
|
||||
height=CSize(2))
|
||||
self.camera = ClickableImage(size_hint=[None, None],
|
||||
height=CSize(1.6),
|
||||
width=CSize(1.6),
|
||||
pos_hint={
|
||||
'x':self.width/2 - CSize(1.6),
|
||||
'y':0
|
||||
},
|
||||
source=blocksImage('photo.png'),
|
||||
img_kw={
|
||||
'size_hint':[None,None],
|
||||
'height':CSize(1.5),
|
||||
'width':CSize(1.5)
|
||||
})
|
||||
|
||||
self.lensid = ClickableImage(size_hint=[None, None],
|
||||
height=CSize(1.6),
|
||||
width=CSize(1.6),
|
||||
pos_hint={
|
||||
'x':self.width/2,
|
||||
'y':0
|
||||
},
|
||||
source=blocksImage('lensid.png'),
|
||||
img_kw={
|
||||
'size_hint':[None,None],
|
||||
'height':CSize(1.5),
|
||||
'width':CSize(1.5)
|
||||
})
|
||||
|
||||
self.camera.bind(on_press=self.take_a_pic)
|
||||
self.lensid.bind(on_press=self.change_lensid)
|
||||
box.add_widget(self.camera)
|
||||
box.add_widget(self.lensid)
|
||||
self.add_widget(box)
|
||||
# self.bind(size=self.change_btn_position)
|
||||
Clock.schedule_once(self.open_camera, 0.5)
|
||||
|
||||
def open_camera(self, *args):
|
||||
self.preview.connect_camera(aspect_ratio='16:9',
|
||||
filepath_callback=self.photo_saved)
|
||||
|
||||
def photo_saved(self, path:str):
|
||||
print(f'{path} saved')
|
||||
|
||||
def change_lensid(self, *args):
|
||||
if platform not in [ 'android', 'ios' ]:
|
||||
return
|
||||
if self.preview.preview.index == 0:
|
||||
self.preview.select_camera("1")
|
||||
else:
|
||||
self.preview.select_camera("0")
|
||||
|
||||
def change_btn_position(self, *args):
|
||||
self.camera.pos_hint = {
|
||||
'x':self.width/2 - CSize(1.6),
|
||||
'y':0
|
||||
}
|
||||
self.lensid.pos_hint = {
|
||||
'x':self.width/2,
|
||||
'y':0
|
||||
}
|
||||
|
||||
def take_a_pic(self, o):
|
||||
self.preview.capture_photo()
|
||||
|
||||
class C4KApp(App):
|
||||
def build(self):
|
||||
x = NewCamera()
|
||||
return x
|
||||
|
||||
if __name__ == '__main__':
|
||||
C4KApp().run()
|
Loading…
Reference in New Issue
Block a user