Hogyan rajzoljunk alakzatokat egy képre a párnával?

Oct 28, 2025

Hagyjon üzenetet

Szia! Párna beszállítóként nem csak a kiváló párnák értékesítésével foglalkozomPrémium puha 100% poliészter Hotel üreges szálas ágypárna,Hotel Kiváló minőségű 100% poliészter szál párna, ésHotel High Qualtiy fehér libatoll párna. A képfeldolgozáshoz is van egy kis érzékem. Ma megosztom veled, hogyan rajzolhatsz alakzatokat egy képre a Pillow, egy rendkívül praktikus Python könyvtár segítségével.

Mi az a Párna?

Először is beszéljünk arról, hogy mi az a párna. A Pillow a Python Imaging Library (PIL) villája. Könnyen használható, és számos funkciót kínál a különböző képfájlformátumok megnyitásához, kezeléséhez és mentéséhez. Legyen szó hobbiról, aki remek effektusokat szeretne hozzáadni nyaralási fotóihoz, vagy professzionális tervezőként dolgozik egy projekten, a Pillow a legjobb barátja lehet.

Párna beszerelése

Mielőtt elkezdené az alakzatok rajzolását, fel kell szerelnünk a párnát. Ha pip-et használ (ez a Python-csomagok telepítésének leggyakoribb módja), csak nyissa meg a parancssort vagy terminált, és írja be:

pip install párna

Ennyi! Pillow pillanatok alatt készen áll a használatra.

Alapformák rajzolása

Kezdjük az alapokkal. Rajzolunk néhány egyszerű formát egy képre. Először is importálnunk kell a szükséges modulokat és megnyitnunk egy képet.

PIL importból Kép, ImageDraw # Kép megnyitása kép = Image.open('your_image.jpg') draw = ImageDraw.Draw(image)

A fenti kódban először importáljuk aKépésImageDrawosztályok a Párna könyvtárból. Ezután megnyitunk egy képfájlt (le kell cserélni"a_képed.jpg"a képed tényleges elérési útjával). AImageDraw.Draw()függvény létrehoz egy objektumot, amellyel rajzolhatunk a képre.

Premium Soft 100% Polyester Hotel Hollow Fiber Filled Bed Pillow factoryPremium Soft 100% Polyester Hotel Hollow Fiber Filled Bed Pillow manufacturers

Vonal rajzolása

A vonal rajzolása rendkívül egyszerű. Csak meg kell adnia a vonal kezdő- és végpontját, valamint a színt és a szélességet.

# Rajzoljon egy vonalat draw.line((100, 100, 200, 200), fill='red', width=2)

Ebben a példában a vonal a pontnál kezdődik(100, 100)és órakor ér véget(200, 200). A vonal piros színű, szélessége 2 pixel.

Téglalap rajzolása

Ezután rajzoljunk egy téglalapot. Meg kell adnia a téglalap felső - bal és alsó - jobb sarkát.

# Rajzolj egy téglalapot draw.rectangle((300, 300, 400, 400), outline='blue', width=2)

Itt a téglalap bal felső sarka a(300, 300)és annak jobb alsó sarkában a(400, 400). A téglalap körvonala kék, szélessége 2 pixel.

Ellipszis rajzolása

Az ellipszis rajzolása is egyszerű. Meg kell adni az ellipszis határolókeretét (a téglalapot, amely körülveszi).

# Rajzolj egy ellipszist draw.ellipse((500, 500, 600, 600), fill='green')

Ebben az esetben az ellipszis zöld színnel van kitöltve, és a bal felső sarkú téglalap határolja.(500, 500)és alsó - jobb sarokban(600, 600).

Rajzolás több irányítással

Néha jobban szeretné irányítani az alakzatok megjelenését. Például érdemes lehet rajzolni egy alakzatot színátmenetes kitöltéssel vagy szaggatott körvonallal.

Gradiens kitöltés

Színátmenetes kitöltés létrehozásához hurok segítségével több vonalat rajzolhatunk különböző színekkel. Íme egy példa függőleges színátmenetes kitöltésre egy téglalaphoz:

PIL importból Kép, ImageDraw kép = Image.open('sajat_kép.jpg') draw = ImageDraw.Draw(image) # Rajzoljon egy téglalapot függőleges gradiens kitöltéssel start_color = (255, 0, 0) # Red end_color = (0, 0, 255) # Blue x1, 0, 1 = 0 x2, 0, y2 200, 200 magasság = y2 - y1 y esetén a(y1, y2) tartományban: r = int(kezdő_szín[0] + (vég_szín[0] - kezdő_szín[0]) * (y - y1) / magasság) g = int(kezdő_szín[1] + (vég_szín[1] - kezdőszín[1]) * (y - y1) / magasság) b = int(kezdő_szín[2] +] -vég_szín[2] (y - y1) / magasság) draw.line((x1, y, x2, y), fill=(r, g, b))

Ebben a kódban először meghatározzuk a színátmenet kezdő és záró színét. Ezután a téglalapon belül minden vízszintes vonalon áthurkolunk, és a helyzete alapján kiszámítjuk az adott vonal színét.

Szaggatott körvonal

A szaggatott körvonal rajzolása egyedi megjelenést adhat az alakzatoknak. Ezt úgy érhetjük el, hogy egy sor rövid vonalat rajzolunk, amelyek között hézagok vannak.

from PIL import Image, ImageDraw image = Image.open('your_image.jpg') draw = ImageDraw.Draw(image) # Rajzoljon egy téglalapot szaggatott körvonallal x1, y1, x2, y2 = 300, 300, 400, 400 dash_length_ =1 in 5th tartomány x2, dash_length + gap_length): draw.line((x, y1, x + kötőjel_hossz, y1), fill='sárga', szélesség=2) draw.line((x, y2, x + dash_length, y2), fill='sárga', szélesség=2) for y tartományban (y1, y2, dash_length + gap_length): draw.ley(th,xsh1,_ley(th,xsh1,) fill='sárga', width=2) draw.line((x2, y, x2, y + kötőjel_hossz), fill='sárga', szélesség=2)

Ebben a példában a kötőjelek hosszát és a köztük lévő hézagokat határozzuk meg. Ezután áthurkoljuk a téglalap oldalait, és megrajzoljuk a szaggatott vonalakat.

A módosított kép mentése

Ha befejeztük az alakzatok rajzolását a képre, el kell mentenünk. Ez olyan egyszerű, mint:

image.save('módosított_kép.jpg')

Csak cseréld ki"módosított_kép.jpg"azzal a névvel, amelyet az új képének szeretne adni.

Speciális alakrajz

Leírtuk az alapokat, de a Párna sokkal fejlettebb alakrajzolást tesz lehetővé. Például rajzolhat több oldalú sokszöget.

from PIL import Image, ImageDraw image = Image.open('sajat_kép.jpg') draw = ImageDraw.Draw(image) # Rajzoljon sokszögpontokat = [(100, 100), (200, 150), (150, 250), (50, 200)] draw.polygon'(points)

Ebben a kódban a sokszög csúcsait alkotó pontok listáját definiáljuk. Ezután használjuk apoligon()módszer a sokszög megrajzolására és lila színnel való kitöltésére.

Következtetés

A Párna segítségével alakzatokat rajzolni egy képre szórakoztató és egyszerű. Akár egyszerű vonalakat és téglalapokat ad hozzá, akár összetett sokszögeket hoz létre színátmenetes kitöltéssel, a Pillow segítségével csodálatos módon alakíthatja át képeit.

Ha kiváló minőségű párnákat keres, ne felejtse el megnézni termékeinket, mint plPrémium puha 100% poliészter Hotel üreges szálas ágypárna,Hotel Kiváló minőségű 100% poliészter szál párna, ésHotel High Qualtiy fehér libatoll párna. Folyamatosan keresünk új partnereket és ügyfeleket. Ha nagy mennyiségben szeretné megvásárolni párnáinkat, forduljon hozzánk bizalommal beszerzési megbeszélés céljából.

Hivatkozások

  • A párna hivatalos dokumentációja
  • Python hivatalos dokumentációja

A szálláslekérdezés elküldése