【问题标题】:Python Turtle Opacity?Python海龟不透明度?
【发布时间】:2013-12-02 06:55:15
【问题描述】:

只是想知道,是否可以用半透明墨水绘制/填充乌龟?

类似:

turtle.setfillopacity(50) # Would set it to 50% transparency

运行 python 2.7

【问题讨论】:

  • 我什么也找不到。通常,它是可选的第四种颜色分量(r、g、b、a),但文档没有提及。

标签: python turtle-graphics


【解决方案1】:

这是不可能的,但你可以定义你的颜色,然后是一个灯光等价物,然后使用它们。

Red = (255,0,0,0)
LRed = (100,0,0)

我认为这会达到类似的效果。然后,当您想要半透明时,您可以使用较浅的颜色。

【讨论】:

  • 如果你画的东西后面有东西,这将不起作用。它仍将被纯色覆盖,而不是通过顶部的颜色部分可见。
【解决方案2】:

这个 python 乌龟示例淡出文本,同时保持原始乌龟图章未修改:

import turtle
import time

alex = turtle.Turtle()
alex_text = turtle.Turtle()
alex_text.goto(alex.position()[0], alex.position()[1])

alex_text.pencolor((0, 0, 0))       #black
alex_text.write("hello")
time.sleep(1)
alex_text.clear()

alex_text.pencolor((.1, .1, .1))       #dark grey
alex_text.write("hello")
time.sleep(1)

alex_text.pencolor((.5, .5, .5))       #Grey
alex_text.write("hello")
time.sleep(1)

alex_text.pencolor((.8, .8, .8))       #Light grey
alex_text.write("hello")
time.sleep(1)

alex_text.pencolor((1, 1, 1))          #white
alex_text.write("hello")
time.sleep(1)

alex_text.clear()                      #gone
time.sleep(1)

文本模拟不透明度增加到最大值。亚历克斯的邮票未经修改。

【讨论】:

    【解决方案3】:

    你可以这样做

    import turtle
    turtle = turtle.Turtle()
    r = 100
    g = 100
    b = 100
    a = 0.5
    turtle.color(r,g,b,a)
    

    (好吧,也许它只适用于 repl.it)

    【讨论】:

      【解决方案4】:

      嗯,你可以使用 RGBA
      首先,放入正常语句:

      1. import turtle
      2. t = turtle.Turtle()

      然后,使用t.color(),但使用RGBA
      RGBA的第一部分与RGB相同,最后一个值为不透明度的百分比(其中0为透明,1为不透明。)

      1. t.color(0,0,0,.5)

      会让你变黑,不透明度为 50%。

      【讨论】:

        【解决方案5】:

        如果您想要完全不透明,可以使用turtle.hideturtle() 来做到这一点。

        就像在最后一行中使用的一样:

        import turtle
        
        t = turtle.Turtle()
        
        t.speed(1)
        
        t.color("blue")
        
        t.begin_fill()
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.end_fill()
        
        t.color("red")
        
        t.begin_fill()
        t.forward(101)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.end_fill()
        
        t.color("green")
        
        t.begin_fill()
        t.forward(101)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.end_fill()
        
        t.color("yellow")
        
        t.begin_fill()
        t.forward(101)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.left(90)
        t.forward(100)
        t.end_fill()
        
        t.hideturtle()
        

        【讨论】:

        • turtle.hideturtle() 不仅仅是不透明度,它还使它无法点击。不仅如此,完全不可见并不是不透明的唯一用例。通常,您需要部分透明。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-28
        • 2022-11-25
        • 2014-09-04
        相关资源
        最近更新 更多