Glimpser
یک شنبه 02 بهمن 1390, 18:32 عصر
دوستانی که به پیتون تسلط دارند لطفا راهنمایی کنند
با این کدها یک تصویر روی صفحه نمایش ظاهر میشود که من میخواهم در دو طرف تصویر دو تصویر دیگر را هم اضافه کنم که حاوی نکاتی درخصوص تصویر وسطی است دوستانی که آشنایی دارند لطفا راهنمایی کنند چطوری میتوانم این کار را انجام دهم
# Adapted tutorial 2012 lesson 17
################################################## ################
from Screens.Screen import Screen
from Components.Label import Label
from Components.Pixmap import Pixmap
from Components.AVSwitch import AVSwitch
from Components.ActionMap import ActionMap
from enigma import ePicLoad
from twisted.web.client import downloadPage
from Screens.MessageBox import MessageBox
from Plugins.Plugin import PluginDescriptor
################################################## #########################
class PictureScreen(Screen):
skin="""
<screen name="PictureScreen" position="0,0" size="1280,720" title="Picture Screen" backgroundColor="#002C2C39">
<widget name="myPic" position="0,0" size="1280,720" zPosition="1" alphatest="on" />
</screen>"""
def __init__(self, session, picPath = None):
Screen.__init__(self, session)
print "[PictureScreen] __init__\n"
self.picPath = picPath
self.Scale = AVSwitch().getFramebufferScale()
self.PicLoad = ePicLoad()
self["myPic"] = Pixmap()
self["myActionMap"] = ActionMap(["SetupActions"],
{
"ok": self.cancel,
"cancel": self.cancel
}, -1)
self.PicLoad.PictureData.get().append(self.DecodeP icture)
self.onLayoutFinish.append(self.ShowPicture)
def ShowPicture(self):
if self.picPath is not None:
self.PicLoad.setPara([
self["myPic"].instance.size().width(),
self["myPic"].instance.size().height(),
self.Scale[0],
self.Scale[1],
0,
1,
"#002C2C39"])
self.PicLoad.startDecode(self.picPath)
def DecodePicture(self, PicInfo = ""):
if self.picPath is not None:
ptr = self.PicLoad.getData()
self["myPic"].instance.setPixmap(ptr)
def cancel(self):
print "[PictureScreen] - cancel\n"
self.close(None)
class getPicfromUrl(object):
def __init__(self, session, url=None, path=None):
self.path = path
self.session = session
self.download(url, path)
def download(self, url, path):
downloadPage(url, path).addCallback(self.downloadDone).addErrback(se lf.downloadError)
def downloadError(self, raw):
print "[e2Fetcher.fetchPage]: download Error", raw
self.session.open(MessageBox, text = _("Error downloading: ") + self.path, type = MessageBox.TYPE_ERROR)
def downloadDone(self,raw):
print "[e2Fetcher.fetchPage]: download done", raw
self.session.open(PictureScreen, picPath = self.path)
################################################## #########################
def main(session, **kwargs):
getPicfromUrl(session,"http://www.*****.com/map/ShowImage.asp", "/tmp/tehran1.tmp")
################################################## #########################
def Plugins(**kwargs):
return PluginDescriptor(
name=" online",
description="showing online-map",
where = PluginDescriptor.WHERE_PLUGINMENU,
icon="./tehran1.png",
fnc=main)
با این کدها یک تصویر روی صفحه نمایش ظاهر میشود که من میخواهم در دو طرف تصویر دو تصویر دیگر را هم اضافه کنم که حاوی نکاتی درخصوص تصویر وسطی است دوستانی که آشنایی دارند لطفا راهنمایی کنند چطوری میتوانم این کار را انجام دهم
# Adapted tutorial 2012 lesson 17
################################################## ################
from Screens.Screen import Screen
from Components.Label import Label
from Components.Pixmap import Pixmap
from Components.AVSwitch import AVSwitch
from Components.ActionMap import ActionMap
from enigma import ePicLoad
from twisted.web.client import downloadPage
from Screens.MessageBox import MessageBox
from Plugins.Plugin import PluginDescriptor
################################################## #########################
class PictureScreen(Screen):
skin="""
<screen name="PictureScreen" position="0,0" size="1280,720" title="Picture Screen" backgroundColor="#002C2C39">
<widget name="myPic" position="0,0" size="1280,720" zPosition="1" alphatest="on" />
</screen>"""
def __init__(self, session, picPath = None):
Screen.__init__(self, session)
print "[PictureScreen] __init__\n"
self.picPath = picPath
self.Scale = AVSwitch().getFramebufferScale()
self.PicLoad = ePicLoad()
self["myPic"] = Pixmap()
self["myActionMap"] = ActionMap(["SetupActions"],
{
"ok": self.cancel,
"cancel": self.cancel
}, -1)
self.PicLoad.PictureData.get().append(self.DecodeP icture)
self.onLayoutFinish.append(self.ShowPicture)
def ShowPicture(self):
if self.picPath is not None:
self.PicLoad.setPara([
self["myPic"].instance.size().width(),
self["myPic"].instance.size().height(),
self.Scale[0],
self.Scale[1],
0,
1,
"#002C2C39"])
self.PicLoad.startDecode(self.picPath)
def DecodePicture(self, PicInfo = ""):
if self.picPath is not None:
ptr = self.PicLoad.getData()
self["myPic"].instance.setPixmap(ptr)
def cancel(self):
print "[PictureScreen] - cancel\n"
self.close(None)
class getPicfromUrl(object):
def __init__(self, session, url=None, path=None):
self.path = path
self.session = session
self.download(url, path)
def download(self, url, path):
downloadPage(url, path).addCallback(self.downloadDone).addErrback(se lf.downloadError)
def downloadError(self, raw):
print "[e2Fetcher.fetchPage]: download Error", raw
self.session.open(MessageBox, text = _("Error downloading: ") + self.path, type = MessageBox.TYPE_ERROR)
def downloadDone(self,raw):
print "[e2Fetcher.fetchPage]: download done", raw
self.session.open(PictureScreen, picPath = self.path)
################################################## #########################
def main(session, **kwargs):
getPicfromUrl(session,"http://www.*****.com/map/ShowImage.asp", "/tmp/tehran1.tmp")
################################################## #########################
def Plugins(**kwargs):
return PluginDescriptor(
name=" online",
description="showing online-map",
where = PluginDescriptor.WHERE_PLUGINMENU,
icon="./tehran1.png",
fnc=main)