python3我需要在绘制循环画布中缩放图像

2024-09-30 18:24:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想绘制对象(绘制功能) 但我的图像大小数据依赖于json数据存储

代码如下所示:


def drawMap():
  canvas.delete("all")
  if initValues.canvasGridVisible == True:
    print("Draw Map Grid.")
    for x in range(100, screen_width, initValues.gridWidth):
      line1 = canvas.create_line(0, x, screen_width, x, fill="orange")
      line2 = canvas.create_line(x, 0, x, screen_width, fill="red")

  for (element, texpath) in zip(MyDefaultMap.map, MyDefaultMap.pythonImageObjectMemory):
    test2 = RESOURCE_INDENTITY_READONLY.index(texpath)
    dTex = RESOURCE_IMAGES_OBJ[test2]
    canvas.create_rectangle(element.x, element.y, element.x2, element.y2, fill="blue")

    if element.tilesX == 0:
      draws = canvas.create_image(element.x, element.y, anchor="nw", image=dTex)
      canvasImgElement.append(draws)
    for i in range(int(element.tilesX)):
      draws = canvas.create_image(
        element.x + i * initValues.baseElementValue,
        element.y,
        anchor="nw",
        image=dTex)
      canvasImgElement.append(draws)
      for y in range(int(element.tilesY)):
        canvasImgElement.append(canvas.create_image(
          element.x  + i * initValues.baseElementValue,
          element.y + y * initValues.baseElementValue,
          anchor="nw",
          image=dTex)
        )
    if hasattr(element, 'colectionLabel'):
      canvasImgElement.append(canvas.create_image(element.x, element.y, anchor="nw", image=dTex))
      # print("Draw collection item.")

这是一个工作示例,但我的对象只能使用一个基本元素的宽度和高度。如果我使用x或y方向的瓷砖,效果很好。我的应用程序已经处理了所有需要的作业,但这是一个视觉错误。 我无法在画布中调整图像大小和更新。我可以,如果我预装图像。在循环中或从循环中,当我尝试sleeptry、画布项配置时没有任何更改


Tags: in图像imageforifcreateelementcanvas