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.

Tempel bantal python gambar transparan

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.

Tempel bantal python gambar transparan

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.

Tempel bantal python gambar transparan

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.

Tempel bantal python gambar transparan

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.

Tempel bantal python gambar transparan

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.

Tempel bantal python gambar transparan

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())

Tempel bantal python gambar transparan

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)

Tempel bantal python gambar transparan

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