Rumah > pembangunan bahagian belakang > Tutorial Python > Mencipta seni yang serupa dengan lukisan bernilai jutaan pound

Mencipta seni yang serupa dengan lukisan bernilai jutaan pound

WBOY
Lepaskan: 2024-08-23 06:01:32
asal
960 orang telah melayarinya

Creating art similar to  million pounds worth of painting

Mencipta Semula Lukisan Damien Hirst Berjuta Dolar Menggunakan Grafik Sawa dan Penyu

pengenalan

Gambaran keseluruhan

Pernah melihat seni dan berfikir, "Ya, saya boleh membuat sesuatu yang serupa dengan itu." Nah, anda tidak bersendirian! Jika anda mencari lukisan titik Damien Hirst dalam talian, pemikiran yang sama mungkin terlintas di fikiran anda. Hari ini kita akan menguji teori ini menggunakan kod.

Objektif

Kami cuba mencipta seni yang serupa dengan karya seni popular oleh artis Damien Hirst menggunakan kod Python dan perpustakaan grafik Turtle.

Inspirasi

Catatan blog ini diilhamkan daripada kursus Python Angela Yu.

Menyediakan Persekitaran

Kami memerlukan Python dipasang pada sistem kami (versi terkini lebih baik), perpustakaan grafik Turtle (yang diprapasang apabila anda memasang Python), perpustakaan Colorgram (yang perlu anda pasang menggunakan pip) dan IDE kegemaran anda .

Memahami Seni

Seni Hirst terdiri daripada corak titik warna simetri dengan saiz yang sama dipisahkan oleh ruang yang konsisten.
Nampaknya cukup mudah untuk ditiru. Jadi mari kita lakukannya.

Mengekodkan Lukisan

Mencipta Kanvas:

#We import the Turtle library and give it an alias as t
import turtle as t

#We create an object of the Turtle class and name it bob
bob = t.Turtle()

#We create a screen that will be our canvas which our turtle (bob)  #will draw the painting on
screen = t.Screen()

#To make the screen persistent we add the following line of code that #makes sure that the screen stays till we click on it.
screen.exitonclick()
Salin selepas log masuk

Mengekstrak Warna:
Anda boleh memasang pustaka colorgram daripada pautan ini.

#Import the colorgram library
import colorgram

#Make a list that will store the colors extracted from a sample #Damien Hirst painting.
rgb_colors = []

#Extract the colors from the painting. You can choose how many colors #to extract, here 30 is chosen.
colors = colorgram.extract('image.jpg', 30)

#The output is a list of colorgram object of RGB values. We select #the RGB values from them.
for color in colors:
    r = color.rgb.r
    g = color.rgb.g
    b = color.rgb.b
    new_color = (r, g, b)
    rgb_colors.append(new_color)

print(rgb_colors)

#After we get the output, we can select the color list from the #terminal, store them into a variable like below, and comment the #above code.
color_list = [(245, 243, 238), (202, 164, 110), (240, 245, 241), (149, 75, 50), (222, 201, 136), (53, 93, 123), (170, 154, 41), (138, 31, 20), (134, 163, 184), (197, 92, 73), (47, 121, 86), (73, 43, 35), (145, 178, 149), (14, 98, 70), (232, 176, 165), (160, 142, 158), (54, 45, 50), (101, 75, 77), (183, 205, 171), (36, 60, 74), (19, 86, 89), (82, 148, 129), (147, 17, 19), (27, 68, 102), (12, 70, 64), (107, 127, 153), (176, 192, 208), (168, 99, 102)]
Salin selepas log masuk

Melukis Corak:

#Importing random module to randomly choose colors from color list
import random

# Since we are using RGB we set the colormode to 255 as there are 0 #to 255 values of RGB.
t.colormode(255)

#For better visualization we speed up the drawing process
bob.speed("fastest")

#by default our pen draws a line, we penup to avoid that
bob.penup()

# Going to an appropriate place in the canvas to draw all the dots in #the visible area
bob.setheading(220)
bob.forward(300)

#Setting the heading in right direction to draw the dots
bob.setheading(0)
number_of_dots = 100

#drawing dots of size 20 at a distance of 50 from each other of a #random color from the color list. After every 10 dots we go the next #line
for dots in range(1, number_of_dots + 1):
    bob.dot(20, random.choice(color_list))
    bob.forward(50)

    if dots % 10 == 0:
        bob.setheading(90)
        bob.forward(50)
        bob.setheading(180)
        bob.forward(500)
        bob.setheading(0)

#hiding our drawing pen
bob.hideturtle()
Salin selepas log masuk

Penambahbaikan

Kini terdapat pelbagai lukisan Hirst untuk dipilih dan kami boleh mengekstrak sebarang warna daripadanya jadi jangan ragu untuk mencuba sendiri dan lihat jenis karya seni yang boleh anda hasilkan!

Kesimpulan

Secara keseluruhannya ia adalah projek yang menyeronokkan dan menunjukkan betapa mudahnya untuk mencipta sesuatu yang sebenar hanya daripada asas-asas bahasa pengaturcaraan.

Atas ialah kandungan terperinci Mencipta seni yang serupa dengan lukisan bernilai jutaan pound. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan