02_photoViewer.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/usr/bin/env python
  2. #version : 2023.04.04
  3. #language : ch
  4. import os
  5. from maix import display
  6. from maix import image
  7. from maix import camera
  8. import time
  9. import os
  10. import sys
  11. sys.path.append('/root/')
  12. from CocoPi import BUTTON
  13. key_A = BUTTON(14)
  14. key_B = BUTTON(8)
  15. key_C = BUTTON(13)
  16. key_D = BUTTON(7)
  17. camera.camera.config(size=(240,320))
  18. image.load_freetype("/root/preset/fonts/SourceHanSansCN-Regular.otf")
  19. ###需要查询的文件夹目录及文件格式后缀###
  20. def getImgFileList(filePath="/root/user/img/",selectFile=".png"):
  21. import os
  22. FileList=[]
  23. aimFilePath=filePath
  24. aimFile=selectFile
  25. aimFileLenth=len(selectFile)*(-1)
  26. for root,dirs,files in os.walk(aimFilePath):
  27. for name in files:
  28. if str(name)[aimFileLenth:]==aimFile:
  29. FileList.append(name)
  30. return FileList
  31. pngImgShow=getImgFileList()
  32. picNum=len(pngImgShow)
  33. picSelect=0
  34. deleteSig=False
  35. canvas = image.new(size=(320, 240),color = (15,21,46),mode = "RGB")
  36. blackBlock=image.new(size=(320, 24), mode="RGB", color=(0, 0, 0))
  37. while True:
  38. if picNum==0:
  39. canvas.clear()
  40. canvas.draw_string(104, 100, "未找到PNG格式图片!", 1, color=(255, 0, 0))
  41. else:
  42. if key_B.is_pressed():
  43. while key_B.is_pressed():
  44. time.sleep(0.001)
  45. deleteSig=True
  46. os.system("rm /root/user/img/"+pngImgShow[picSelect])
  47. pngImgShow=getImgFileList()
  48. picNum=len(pngImgShow)
  49. else:
  50. if key_D.is_pressed():
  51. while key_D.is_pressed():
  52. time.sleep(0.001)
  53. picSelect=picSelect-1
  54. elif key_C.is_pressed():
  55. while key_C.is_pressed():
  56. time.sleep(0.001)
  57. picSelect=picSelect+1
  58. else:
  59. picSelect=picSelect
  60. if picSelect>picNum-1:
  61. picSelect=0
  62. elif picSelect<0:
  63. picSelect=picNum-1
  64. else:
  65. pass
  66. canvas.clear()
  67. try:
  68. canvas.draw_image((image.open("/root/user/img/"+pngImgShow[picSelect])),0,0)
  69. except:
  70. canvas.draw_string(104, 100, "无法打开这张图片!", 1, color=(255,0, 0))
  71. canvas.draw_string(60, 218, pngImgShow[picSelect], color=(255,255,255), thickness = 1)
  72. canvas.draw_image(image.open("/root/preset/img/blackBlock_7f7f7f_320x24.jpg"), 0, 0,alpha=0.8)
  73. canvas.draw_image(image.open("/root/preset/img/blackBlock_7f7f7f_320x24.jpg"), 0, 216,alpha=0.8)
  74. canvas.draw_image((image.open("/root/preset/img/trashBox_ff0000_24x24.png")).rotate(0, adjust=0),8,216,alpha=1)
  75. canvas.draw_image((image.open("/root/preset/img/exit_ff0000_24x24.png")).rotate(0, adjust=0),288,216,alpha=1)
  76. canvas.draw_image((image.open("/root/preset/img/left_ffffff_16x16.png")).rotate(0, adjust=0),6,4,alpha=1)
  77. canvas.draw_image((image.open("/root/preset/img/left_ffffff_16x16.png")).rotate(180, adjust=0),296,4,alpha=1)
  78. #canvas.draw_image((image.open("/root/preset/img/blackBlock_000000_320x33.png")).rotate(0, adjust=0),0,0,alpha=0.3)
  79. #canvas.draw_string(8, 39+30*demo_j,demoListText[demoSelect] , color=color_white, thickness = 1)
  80. if picNum==0:
  81. canvas.draw_string(116, 3, str(picSelect), color=(255,255,255), thickness = 1)
  82. else:
  83. canvas.draw_string(116, 3, str(picSelect+1), color=(255,255,255), thickness = 1)
  84. canvas.draw_string(160, 3, "/ "+str(picNum), color=(255,255,255), thickness = 1)
  85. display.show(canvas)