รูปภาพของ surasak boonkla

โปรแกรมถ่ายถาพโดยใช้ streamer ควบคุมโดยไพธอน, capture picture using streamer with python

import pygtk; pygtk.require('2.0')
import gtk
import os

import httplib, urllib
import base64, os.path

class Image_Example(object):
    def setPicture(self,path,data):
        self.image.set_from_file("/home/surasak/foobar.jpeg")

    def pressButton(self, widget, data=None):
        print "Pressed"

    def delete_event(self, widget, event, data=None):
        print "delete event occured"
        return False

    def destroy(self, widget, data=None):
        gtk.main_quit()

    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.connect("delete_event", self.delete_event)
        self.window.connect("destroy", self.destroy)
        self.window.set_border_width(10)

        vbox = gtk.VBox(False)

        self.button = gtk.Button()
        self.button.connect("clicked", self.pressButton, None)
        self.button.connect_object("clicked", gtk.Widget.destroy, self.window)

                self.capture = gtk.Button("capture")
        self.capture.connect("clicked", self.capture_pic, None)

        self.send = gtk.Button("send")
        self.send.connect("clicked", self.imageToURL, None)

        self.name = gtk.Entry()
        self.name.set_text("untitle")

        self.image = gtk.Image()
        self.image.set_from_file("/home/surasak/foobar09.jpeg")
        self.image.show()

        self.button.add(self.image)
       
        vbox.pack_start(self.button)
        vbox.pack_start(self.name)
        vbox.pack_start(self.capture)
        vbox.pack_start(self.send)
        self.window.add(vbox)
        self.window.show_all()

    def capture_pic(self,widget, data=None):
        os.environ['USER'] = 'surasak'
        os.popen('streamer -t 10 -r 2 -o /home/surasak/tao00.jpeg').read()
        self.image.set_from_file("/home/surasak/tao09.jpeg")
        newname = ('cp tao09.jpeg images/%s.jpeg')%self.name.get_text()
        os.popen(newname).read()
        os.popen('rm tao??.jpeg').read()

    def imageToURL(self,widget, aPath=None):
           # read the binary data of the picture
        aPath = ('images/%s.jpeg')%self.name.get_text()
           data = open(aPath, 'rb').read()
           # encoded it to base64
           encodedData = base64.encodestring( data )
           headers = { "Content-type": "application/x-www-form-urlencoded",
                           "Accept": "text/plain",}

           params = urllib.urlencode({ u'fileName': os.path.split(aPath)[1],
                                     u'data':encodedData})

           conn = httplib.HTTPConnection( "localhost" )
           conn.request( "POST", "/images/insert.php", params, headers )
           response = conn.getresponse( )
           # returns "True" or "False" if failed
           print response.read()
           # status for debugging
           print response.status
           conn.close( )

    def main(self):
        gtk.main()

if __name__ == '__main__':
    app = Image_Example()
    app.main()
 

ตอบ

Captcha
พิมพ์ตัวอักษรที่ท่านเห็นในรูปด้านบนในช่องด้านบนนี้ หมายเหตุ: การสมัครเป็นสมาชิกท่านจะได้รับความสะดวกในการเขียนเนื้อหา
Copy the characters (respecting upper/lower case) from the image.