这就是我遇到麻烦的代码的本质:
camelot = Canvas(main, width = 400, height = 300)
camelot.grid(row = 0, column = 0, rowspan = 11, columnspan = 3)
MyImage = PhotoImage(file = "sample1.gif")
camelot.create_image(0, 0, anchor = NW, image = MyImage)
这是在开始时运行的。我稍后在另一个函数中要做的
将“sample1.gif”
替换为“sample2.gif”
然后是“sample3.gif”。我被卡住了,我一直在尝试的东西都没有
工作至今。
Add image to canvas:
self.image_on_canvas = self.canvas.create_image(0, 0, image = ...)
Change image:
self.canvas.itemconfig(self.image_on_canvas, image = ...)
Full example:
from Tkinter import *
#----------------------------------------------------------------------
class MainWindow():
#----------------
def __init__(self, main):
# canvas for image
self.canvas = Canvas(main, width=60, height=60)
self.canvas.grid(row=0, column=0)
# images
self.my_images = []
self.my_images.append(PhotoImage(file = "ball1.gif"))
self.my_images.append(PhotoImage(file = "ball2.gif"))
self.my_images.append(PhotoImage(file = "ball3.gif"))
self.my_image_number = 0
# set first image on canvas
self.image_on_canvas = self.canvas.create_image(0, 0, anchor = NW, image = self.my_images[self.my_image_number])
# button to change image
self.button = Button(main, text="Change", command=self.onButton)
self.button.grid(row=1, column=0)
#----------------
def onButton(self):
# next image
self.my_image_number += 1
# return to first image
if self.my_image_number == len(self.my_images):
self.my_image_number = 0
# change image
self.canvas.itemconfig(self.image_on_canvas, image = self.my_images[self.my_image_number])
#----------------------------------------------------------------------
root = Tk()
MainWindow(root)
root.mainloop()
问题内容: 我正在尝试使用HTML中的新canvas元素。 我只是想将图像添加到画布,但是由于某种原因它不起作用。 我有以下代码: 的HTML 的CSS JS 图片存在,并且没有JavaScript错误。该图像只是不显示。 这一定是我错过的非常简单的事情… 问题答案: 也许您应该等到图像加载后才能绘制图像。尝试以下方法: 即在图像的onload回调中绘制图像。
问题内容: 我目前正在使用 http://paperjs.org 创建HTML5画布绘图应用程序。我想让用户将图像上传到画布中。我知道我需要进行登录和注册,但是有更简单的方法吗?我已经看到HTML5拖放式上传。 问题答案: 我假设您的意思是将图像加载到画布中,而不是从画布上载图像。 在这里阅读他们所有的画布文章可能是一个好主意 但基本上,您要做的是在javascript中创建图片,然后将image
实际上,我可以使用函数来完成。我从“HTML5画布-如何在图像背景上画一条线?”中得到的东西。但是我需要在不使用from函数的情况下绘制图像,如下所示:
我的第一个ionic网络应用程序有问题。我应该做一些图表,所以我决定使用d3.js和tree.js。我增加了用不同类型的图表可视化我的数据的可能性。当我在同一个画布上绘制不同的图表时,问题出现了,所以我想我必须在每次更新之前清除画布。这是我的代码: 在网络上搜索(如何清除画布以进行重绘),我试图添加以下行: 但是我仍然有问题。 演示我的问题 你能帮我吗?谢了。
我在chartJS中制作了一个图表,我想根据用户从下拉列表中选择的内容使用新数据更新它,使用相同的画布。问题是当我执行更新功能时,图表会用新数据更新,但过一会儿又会回到原始图表。我该如何解决这个问题?下面是代码,感谢大家的帮助:
我可以绘制图像,但我如何旋转该图像例如45度并绘制它,然后绘制另一个图像与-50度旋转在同一画布? 不适用于我,因为它会旋转所有画布内容。