gif --- การบันทึก GIF¶
โมดูล gif ใช้สำหรับการบันทึก GIF
class Gif -- เครื่องบันทึก Gif¶
คุณสามารถใช้โมดูล gif เพื่อบันทึกคลิปวิดีโอสั้นได้ โปรดทราบว่าไฟล์ gif บันทึกข้อมูลภาพแบบไม่บีบอัด ดังนั้นจึงเหมาะสมที่สุดสำหรับการบันทึกคลิปวิดีโอสั้นที่ต้องการแชร์ ใช้ mjpeg สำหรับคลิปยาว
ตัวอย่างการใช้งาน:
import csi
import gif
import time
# Setup camera.
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000)
# Create the gif object.
g = gif.Gif("example.gif")
# Record for 4 seconds.
start = time.ticks_ms()
while time.ticks_diff(time.ticks_ms(), start) < 4000:
g.add_frame(csi0.snapshot())
# Finalize.
g.close()
- class gif.Gif(filename: str, width: int | None = None, height: int | None = None, color: bool | None = None, loop: bool = True)¶
สร้างออบเจ็กต์ Gif ที่สามารถเพิ่มเฟรมได้
filenameคือเส้นทางสำหรับบันทึก GIFwidthค่าเริ่มต้นเป็นความละเอียดแนวนอนของบัฟเฟอร์เฟรมหลักheightค่าเริ่มต้นเป็นความละเอียดแนวตั้งของบัฟเฟอร์เฟรมหลักcolorค่าเริ่มต้นตามโหมดสีของบัฟเฟอร์เฟรมหลัก:False จะสร้าง gif แบบ
sensor.GRAYSCALE7 บิตต่อพิกเซลTrue จะสร้าง gif แบบ
sensor.RGB5657 บิตต่อพิกเซล
loopเมื่อเป็น True จะทำให้ gif วนซ้ำโดยอัตโนมัติระหว่างเล่น- format() int¶
คืนค่า
sensor.RGB565ถ้า color เป็น True หรือsensor.GRAYSCALEในกรณีอื่น
- add_frame(image: image.Image, delay: int = 10) None¶
เพิ่มภาพลงในการบันทึก gif ความกว้าง ความสูง และโหมดสีของภาพต้องตรงกับค่าที่ใช้ในตัวสร้าง
delayคือจำนวนเซนติวินาทีที่รอก่อนแสดงเฟรมนี้หลังจากเฟรมก่อนหน้า