Heim > Backend-Entwicklung > Python-Tutorial > Python 2-Methoden zum Implementieren überlagerter rechteckiger Rahmenebenen

Python 2-Methoden zum Implementieren überlagerter rechteckiger Rahmenebenen

Guanhui
Freigeben: 2020-06-18 17:44:32
nach vorne
2473 Leute haben es durchsucht

Python 2-Methoden zum Implementieren überlagerter rechteckiger Rahmenebenen

Zwei Methoden und Effekte:

Methode 1, verwenden Sie die PIL.Image.blend-Methode:

from PIL import Image, ImageDraw
im = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
im2 = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
draw = ImageDraw.Draw(im2)
draw.rectangle([(1000, 500), (1200, 800)], fill=(255, 0, 0), width=2)
out = Image.blend(im, im2, 0.5)
out.save('d:/tmp/demo1.jpg')
im.close()
im2.close()
out.show()
out.close()
Nach dem Login kopieren

Methode 2: Direkte Pixelüberlagerung:

from PIL import Image, ImageDraw

im = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
b = (255, 0, 0)
opacity = 0.5

for x in range(1000, 1200):
  for y in range(500, 800):
    p = im.getpixel((x, y))
    p = [int(p[i]*(1-opacity) + b[i]*opacity) for i in range(3)]
    im.putpixel((x, y), tuple(p))

im.save('d:/tmp/demo2.jpg')
im.show()
im.close()
Nach dem Login kopieren

Die beiden Darstellungen lauten wie folgt:

Erklärung: Die erste Methode kann ein Rechteck einigermaßen gut zeichnen -definierte Formen wie Ellipsen, aber die zweite Möglichkeit bietet eine bessere Möglichkeit, die Form unabhängig zu steuern. Solange die entsprechende Datenformel im Programm bearbeitet wird, können Sie einige gewünschte Umrisse zeichnen.

Kapitel Die beiden Methoden werden durch die erste Methode definiert (

out = image1 * (1.0 - alpha) + image2 * alpha)

Dann denken Sie an die Testtabelle für Farbenblindheit und ein weiteres Bild (ich weiß es nicht). Wie der Name lautet, aber verschiedene Personen auf einem Bild sehen möglicherweise unterschiedliche Dinge.) Ich habe es mir ausgedacht.

Empfohlenes Tutorial: „Python-Tutorial

Das obige ist der detaillierte Inhalt vonPython 2-Methoden zum Implementieren überlagerter rechteckiger Rahmenebenen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage