Tempel bantal python gambar transparan

Metode komposit bekerja sangat mirip dengan. tempel() metode. Perbedaan utama adalah cara penerapannya. Ketika. metode paste () diterapkan pada gambar sebagai metode gambar, komposit berfungsi sebagai fungsi dan membutuhkan kedua gambar untuk diteruskan sebagai argumen di dalamnya. Lihat contoh mini di bawah ini

  • img1.paste(img2, (100,100))
  • Image.composite(img1, img2)

Komposit adalah kata kuno dan menandakan hal-hal fisik atau digital yang terdiri dari beberapa bagian

Dalam ilmu pengetahuan dan teknologi, komposit adalah istilah yang populer dan umum digunakan seperti material komposit, sinyal komposit, bilangan komposit, dan gambar komposit. Misalnya, pesawat ruang angkasa memiliki perisai panas yang terbuat dari bahan komposit (seperti refraktori berserat yang dapat menahan kondisi entri orbit yang tak terbayangkan). Paten Google)

Komposit berasal dari akar Latin com (dengan, bersama-sama) + posit (posisi)

Bagaimanapun, kembali ke metode komposit untuk menempelkan gambar. . composite() metode memiliki beberapa kelemahan dari yang ditunjukkan sebelumnya. tempel() metode

Kelemahan metode komposit

  • Kedua gambar harus berukuran sama untuk metode komposit
  • Kedua gambar harus memiliki mode yang sama untuk metode komposit
  • Metode tempel memiliki argumen kotak yang memungkinkan penetapan koordinat sudut kiri atas gambar yang sedang ditempel terkait dengan gambar dasar

Meskipun kami dapat menempelkan gambar berukuran lebih kecil pada gambar yang lebih besar, hal ini tidak dapat langsung dilakukan dengan metode komposit. Selain itu, kedua gambar harus dalam mode warna yang sama seperti RGB, RGBA, RGBa, L, LA, 1 dll. Situasi ini ditoleransi dalam mode tempel sehingga jika gambar yang ditempelkan dalam mode yang berbeda, itu akan diubah ke mode gambar dasar secara otomatis

Image_ modul perpustakaan pemrosesan gambar Python Pillow (PIL) menyediakan putalpha() untuk menambahkan saluran alfa ke gambar

Artikel ini menjelaskan konten berikut

  • Cara menggunakan im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 0
  • Atur transparansi seragam di seluruh permukaan
  • Buat saluran alfa dengan im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 1
  • Gunakan gambar yang ada sebagai saluran alfa

Silakan merujuk ke artikel berikut untuk pemasangan dan penggunaan dasar Bantal (PIL)

  • Cara menggunakan Bantal (PIL. Perpustakaan Pencitraan Python)

Impor Image dari im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 3 dan muat gambar aslinya

im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 1 dan im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 5 digunakan untuk menggambar bentuk dan membuat saluran alfa. Mereka dapat dihilangkan jika file gambar dibaca dan digunakan sebagai saluran alfa

from PIL import Image, ImageDraw, ImageFilter im_rgb = Image.open('data/src/lena.jpg')

sumber.

Tautan Bersponsor

Cara menggunakan im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 0

Parameter putalpha() hanya im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 8. Karena secara harfiah menempatkan lapisan saluran alfa ke gambar asli

Jika im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') _9 dari gambar aslinya adalah im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 0 (8 bit x 3. penuh warna) atau im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 1 (8 bit x 1. hitam dan putih), saluran alfa baru ditambahkan, dan jika im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 2 atau im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 3, saluran alfa asli diperbarui

Ditentukan oleh konstanta

Ketika nilai integer 8 bit (im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) _4 hingga im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 5) diatur ke im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 8, transmisi menurut nilai diatur di seluruh permukaan

im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 4 berarti 100% transparansi, im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 5 berarti 0% transparansi (tidak ada transparansi)

Ditentukan oleh objek Gambar

Jika Anda menyetel objek Image dengan ukuran yang sama seperti gambar aslinya di im_rgba = im_rgb.copy() im_rgba.putalpha(im_a) im_rgba_crop = im_rgba.crop((140, 50, 260, 170)) im_rgba_crop.save('data/dst/pillow_putalpha_circle.png') 0 (skala abu-abu 8-bit) ke im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 8, Anda dapat menyetel saluran alfa ke berbagai bentuk

Seperti dalam kasus konstan, im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) _4 berarti 100% transparansi, im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) 5 berarti 0% transparansi (tidak ada transparansi)

Atur transparansi seragam di seluruh permukaan

Jika Anda menetapkan nilai bilangan bulat ke alfa, transparansi menurut nilai tersebut akan ditetapkan di seluruh permukaan

Perhatikan bahwa putalpha() menimpa gambar asli, jadi jika Anda ingin mempertahankan gambar asli apa adanya, gunakan yang disalin dengan im_rgba = im_rgb.copy() im_rgba.putalpha(im_a) im_rgba_crop = im_rgba.crop((140, 50, 260, 170)) im_rgba_crop.save('data/dst/pillow_putalpha_circle.png') 5

im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png')

sumber.

Dalam contoh ini, im_rgba = im_rgb.copy() im_rgba.putalpha(im_a) im_rgba_crop = im_rgba.crop((140, 50, 260, 170)) im_rgba_crop.save('data/dst/pillow_putalpha_circle.png') _6 memberikan sekitar 50% transparansi (128/255 ~ 50%)

Tautan Bersponsor

Buat saluran alfa dengan im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 1

Jika Anda ingin menambahkan saluran alfa dengan bentuk sederhana, seperti lingkaran atau persegi panjang, menggambar modul im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 1 berguna. Untuk detail tentang menggambar, lihat artikel berikut. Anda juga bisa menggambar poligon

  • Menggambar lingkaran, persegi panjang, garis, dll. dengan Python, Bantal

Gambar lingkaran putih pada latar belakang hitam dan atur ke saluran alfa

im_a = Image.new("L", im_rgb.size, 0) draw = ImageDraw.Draw(im_a) draw.ellipse((140, 50, 260, 170), fill=255) _

sumber.

im_rgba = im_rgb.copy() im_rgba.putalpha(im_a) im_rgba_crop = im_rgba.crop((140, 50, 260, 170)) im_rgba_crop.save('data/dst/pillow_putalpha_circle.png')

sumber.

Anda dapat menggunakan im_rgba = im_rgb.copy() im_rgba.putalpha(128) im_rgba.save('data/dst/pillow_putalpha_solid.png') 5 untuk menghaluskan batas

im_a_blur = im_a.filter(ImageFilter.GaussianBlur(4))

sumber.

im_rgba = im_rgb.copy() im_rgba.putalpha(im_a_blur) im_rgba_crop = im_rgba.crop((135, 45, 265, 175)) im_rgba_crop.save('data/dst/pillow_putalpha_circle_blur.png')

sumber.

Dalam setiap contoh, bagian luar lingkaran dipangkas menjadi persegi panjang dengan im_a_blur = im_a.filter(ImageFilter.GaussianBlur(4)) 0. Lihat artikel berikut untuk im_a_blur = im_a.filter(ImageFilter.GaussianBlur(4)) 0

  • Pangkas sebagian gambar dengan Python, Bantal (pemangkasan)

Gunakan gambar yang ada sebagai saluran alfa

Anda dapat memuat gambar yang ada dan mengaturnya sebagai saluran alfa

Coba gunakan gambar berbentuk kuda hitam putih (contoh gambar scikit. skimage. data. kuda())

Dalam contoh ini, untuk membiarkan gambar berbentuk kuda, gunakan gambar dengan kuda putih dan latar belakang hitam (gambar terbalik)

  • Balikkan gambar dengan Python, Bantal (Inversi negatif-positif)

Setelah gambar dibaca oleh im_a_blur = im_a.filter(ImageFilter.GaussianBlur(4)) _2, disesuaikan dengan ukuran gambar yang ditempelkan oleh im_a_blur = im_a.filter(ImageFilter.GaussianBlur(4)) 3, dan mode diubah menjadi im_a_blur = im_a.filter(ImageFilter.GaussianBlur(4)) 4 (skala abu-abu) oleh im_a_blur = im_a.filter(ImageFilter.GaussianBlur(4)) 5

Bagaimana cara membuat gambar bantal transparan dengan Python?

impor modul Gambar dari perpustakaan Bantal. dari PIL impor Gambar
Buka gambar apa saja dan dapatkan nilai RAGBAG. img = Gambar. buka('gambar. png').
Ubah warnanya. Data akan menjadi objek Inti Pencitraan yang berisi ribuan tupel nilai RGBA. .
Simpan gambar yang diubah

Bagaimana cara menempelkan gambar transparan?

Cara menempelkan gambar transparan di Google Dokumen .
DARI 12. Langkah pertama adalah membuka browser Anda dan klik bilah tugas
Klik Gambar
Klik Alat
Klik Warna
Klik Transparan
Sekarang setelah kita menyalin gambar kita, mari buka Google Docs, Klik Blank
Klik TempelCtrl+V

Bagaimana cara menempelkan gambar transparan ke PIL?

Jika Anda meneruskan gambar dengan transparansi, saluran alfa digunakan sebagai topeng. .
Buka gambar depan dan latar belakang menggunakan Gambar. buka() fungsi
Konversikan kedua gambar ke RGBA
Hitung posisi di mana Anda ingin menempelkan gambar
Gunakan fungsi tempel untuk menggabungkan dua gambar

Bagaimana cara menggabungkan file PNG menjadi satu PNG dengan Python?

Cara menggabungkan PNG .
Instal 'Anggap. .
Tambahkan referensi perpustakaan (impor perpustakaan) ke proyek Python Anda
Buka file PNG sumber dengan Python
Gabungkan file PNG dalam beberapa detik
Panggil metode 'append_document()', meneruskan nama file keluaran dengan ekstensi yang diperlukan
Dapatkan hasil penggabungan PNG sebagai satu file

Postingan terbaru

LIHAT SEMUA