Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah PIL Boleh Digunakan untuk Mengubah Saiz Imej Sambil Mengekalkan Nisbah Aspek?

Bagaimanakah PIL Boleh Digunakan untuk Mengubah Saiz Imej Sambil Mengekalkan Nisbah Aspek?

Linda Hamilton
Lepaskan: 2024-12-08 03:51:12
asal
234 orang telah melayarinya

How Can PIL Be Used to Resize Images While Preserving Aspect Ratio?

Mengubah Saiz Imej dengan Pemeliharaan Nisbah Aspek Menggunakan PIL

Apabila menjana lakaran kecil atau menskala semula imej, mengekalkan nisbah bidang adalah penting untuk mengekalkan kesetiaan imej. PIL menyediakan kaedah mudah untuk mencapai ini sambil melaraskan dimensi lebar dan ketinggian secara dinamik.

Untuk mengubah saiz imej dengan PIL sambil mengekalkan nisbah bidangnya, ikut langkah berikut:

  1. Tentukan Saiz Maksimum: Tentukan saiz maksimum yang diingini untuk imej yang diubah saiz dari segi lebar dan ketinggian.
  2. Kira Nisbah Ubah Saiz: Kira nisbah ubah saiz dengan mengambil nilai minimum antara lebar maksimum dibahagikan dengan lebar imej asal dan ketinggian maksimum dibahagikan dengan ketinggian imej asal. Nisbah ini memastikan imej diubah saiz secara berkadar.
  3. Kira Saiz Baharu: Kira saiz imej baharu dengan mendarab saiz imej asal dengan nisbah ubah saiz.

Untuk kemudahan, PIL menawarkan kaedah yang direka khusus untuk mengubah saiz imej sambil mengekalkan nisbah bidangnya: Image.thumbnail. Berikut ialah contoh daripada dokumentasi PIL, yang mempamerkan penggunaan Image.thumbnail untuk mencipta lakaran kenit:

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.Resampling.LANCZOS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile
Salin selepas log masuk

Contoh ini menunjukkan cara menggunakan Image.thumbnail untuk mencipta lakaran kecil daripada senarai imej input, mengekalkan aspeknya nisbah sambil memastikan saiz akhir berada dalam dimensi yang ditentukan.

Atas ialah kandungan terperinci Bagaimanakah PIL Boleh Digunakan untuk Mengubah Saiz Imej Sambil Mengekalkan Nisbah Aspek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan