Saya akhirnya coding sendiri saran dari komentar ini dibuat oleh pengguna @ P.Melch dan disarankan oleh @Mithril pada proyek yang sedang saya kerjakan.
Saya kode keluar dari batas keamanan juga, ini kode untuk itu . (Saya menautkan komit tertentu karena hal-hal dapat berubah di masa depan repositori ini)
Catatan: Saya berharap array numpy dari gambar seperti sehingga np.array(Image.open(...))input A dan B dari copy_fromdan overlayargumen fungsi terkait ini .
Ketergantungan adalah fungsi tepat sebelum itu, copy_frommetode, dan array numpy sebagai konten Gambar PIL untuk mengiris.
Meskipun file tersebut sangat berorientasi kelas, jika Anda ingin menggunakan fungsi itu overlay_transparent , pastikan untuk mengganti nama self.frameke array numpy gambar latar belakang Anda.
Atau Anda bisa menyalin seluruh file (mungkin menghapus beberapa impor dan Utilskelas) dan berinteraksi dengan kelas Bingkai ini seperti:
# Assuming you named the file frame.py in the same directory
from frame import Frame
background = Frame()
overlay = Frame()
background.load_from_path("your path here")
overlay.load_from_path("your path here")
background.overlay_transparent(overlay.frame, x=300, y=200)
Kemudian, Anda memiliki background.framearray yang dikomposisikan secara overlay dan alfa, Anda bisa mendapatkan gambar PIL darinya dengan overlayed = Image.fromarray(background.frame)atau sesuatu seperti:
overlayed = Frame()
overlayed.load_from_array(background.frame)
Atau sama background.save("save path")seperti yang mengambil langsung dari internal yang dikomposisikan alfaself.frame variabel .
Anda dapat membaca file dan menemukan beberapa fungsi lainnya baik dengan implementasi saya ini kode seperti metode get_rgb_frame_array, resize_by_ratio, resize_to_resolution, rotate, gaussian_blur, transparency,vignetting :)
Anda mungkin ingin menghapus resolve_pending metode karena itu spesifik untuk proyek itu.
Senang jika saya membantu Anda, pastikan untuk memeriksa repo proyek yang saya bicarakan, pertanyaan dan utas ini banyak membantu saya dalam pengembangan :)
;di akhir perintah Anda dengan python: Ini jelek ...