gpt4 book ai didi

python - 如何在python中更改图像

转载 作者:行者123 更新时间:2023-11-28 18:45:25 31 4
gpt4 key购买 nike

我正在使用 xbmc 使用我自己的 python 脚本运行四个图像。我已经使用 keymap.xml 设置了键盘控件,因为我想在按下键盘上的左箭头时更改 python 中的图像。

我正在使用 xml 文件来存储图像的解析器路径。

这是我使用的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<window type="dialog">
<allowoverlay>no</allowoverlay>
<coordinates>
<system>1</system>
<posx>0</posx>
<posy>0</posy>
</coordinates>

<controls>
<control type="image" id="1">
<posx>0</posx>
<posy>0</posy>
<width>1280</width>
<height>720</height>
<texture>background-defeat.png</texture>
<animation effect="fade" start="0" end="100" time="6500">WindowOpen</animation>
</control>

<control type="image" id="2">
<description>Image 2</description>
<posx>307</posx>
<posy>7</posy>
<width>154</width>
<height>95</height>
<visible>true</visible>
<texture>Image 2.png</texture>
<animation effect="fade" start="0" end="100" time="1500">WindowOpen</animation>
</control>

<control type="image" id="3">
<description>Image 3</description>
<posx>460</posx>
<posy>7</posy>
<width>188</width>
<height>95</height>
<visible>true</visible>
<texture>Image 3.png</texture>
<animation effect="fade" start="0" end="100" time="1500">WindowOpen</animation>
</control>

<control type="image" id="4">
<description>Image 4</description>
<posx>648.5</posx>
<posy>7</posy>
<width>165</width>
<height>95</height>
<visible>true</visible>
<texture>Image 4.png</texture>
<animation effect="fade" start="0" end="100" time="1500">WindowOpen</animation>
</control>
</controls>
</window>

这是 python 脚本:

import xbmc 
import xbmcgui
import os

#get actioncodes from keymap.xml
ACTION_MOVE_LEFT = 1
ACTION_MOVE_RIGHT = 2
ACTION_MOVE_UP = 3
ACTION_MOVE_DOWN = 4
ACTION_PREVIOUS_MENU = 10
ACTION_BACKSPACE = 110

class MyClass(xbmcgui.WindowXML):
def onAction(self, action):

if action == ACTION_PREVIOUS_MENU:
self.close()

if action == ACTION_BACKSPACE:
self.close()


if action == ACTION_MOVE_LEFT:
if os.path.exists(xbmc.translatePath("special://home/addons/script.tvguide/resources/skins/Default/media/Image 2.png")):
self.strAction = xbmcgui.ControlLabel(300, 200, 600, 200, '', 'font14', '0xFF00FF00')
self.addControl(self.strAction)
self.strAction.setLabel('you are pressing on the left button. Now let change the image')

当我按下键盘上的左箭头按钮时,我可以通过 if 语句,因为图像 Image 2.png 存在。现在我想更改我想要将其从 Image 2.png 更改为 Image 3.png 的图像。

有人知道我该怎么做吗?

最佳答案

您需要获取 ImageControl 作为控件对象(通过 XML 中定义的 ID)并使用 setImage() 方法更改其纹理。

示例代码:

if action == ACTION_MOVE_LEFT:
image_control = self.getControl(4)
image_control.setImage("special://home/addons/script.tvguide/resources/skins/Default/media/Image 2.png")

您真的应该阅读 xbmcgui 文档:http://mirrors.xbmc.org/docs/python-docs/12.2-frodo/xbmcgui.html

关于python - 如何在python中更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21062600/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com