Pelayan Mengubah Saiz Imej Sumber Terbuka yang Menyediakan Pemprosesan Lebih Pantas
Picfit ialah pelayan saiz semula imej yang dibangunkan dalam Pure Go yang menjaga bahagian storan pemprosesan imej tidak kira enjin storan yang digunakan.
Pemprosesan imej, terutamanya saiz semula boleh menjadi proses yang panjang jika imej anda disimpan pada enjin yang berbeza kerana aplikasi boleh mengambil masa untuk mengalih keluar kod avatar dan mengelakkan panggilan segerak untuk mendapatkan semula imej yang dijana.
Picfit menyelesaikan isu ini, dengan bertindak sebagai proksi antara enjin storan anda dan sistem cache HTTP. Walaupun ia percuma untuk dimuat turun, sumber terbuka dan menyediakan pemprosesan yang lebih pantas, ia juga mengelak daripada menjana imej yang sama dua kali dan mengambil terlalu banyak ruang.
Anda boleh menyimpan imej di Amazon S3, DigitalOcean S3, sistem fail anda dan banyak lagi.
Bermula dengan Picfit
Cara termudah dan disyorkan untuk memasang Picfit ialah melalui GitHub. Sila gunakan arahan berikut untuk pemasangan yang mudah dan lancar.
Pasang Picfit melalui GitHub
git clone https://github.com/thoas/picfit.git
Saiz semula Imej melalui Perpustakaan GO Percuma
Pustaka picfit sumber terbuka membolehkan pembangun perisian mengubah saiz imej secara pemrograman di dalam aplikasi mereka sendiri menggunakan arahan Go. Salah satu fungsi utama Picfit ialah keupayaan untuk mengubah saiz imej mengikut ketinggian dan lebar pilihan anda. Hanya berikan nilai w (lebar imej yang dikehendaki) dan h (ketinggian imej yang dikehendaki).
Ubah Saiz Imej melalui Perpustakaan GO Percuma
func (e *GoImageEngine) Resize(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
if options.Format == imaging.GIF {
content, err := e.TransformGIF(img, width, height, options, imaging.Resize)
if err != nil {
return nil, err
}
return content, nil
}
image, err := e.Source(img)
if err != nil {
return nil, err
}
return e.resize(image, width, height, options)
}
Perpustakaan Go Percuma untuk Menjana Imej Kecil
Anda boleh menggunakan fungsi ini untuk menjana imej baharu dengan penapis sampel semula sama ada ditingkatkan atau ke bawah dan memangkasnya ke ketinggian dan lebar yang ditentukan. Sekali lagi dalam fungsi ini anda perlu memberikan nilai w dan h.
Bagaimana untuk Menjana Imej Kecil GIF dalam Aplikasi GO?
func (e *GoImageEngine) Thumbnail(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
if options.Format == imaging.GIF {
content, err := e.TransformGIF(img, width, height, options, imaging.Thumbnail)
if err != nil {
return nil, err
}
return content, nil
}
image, err := e.Source(img)
if err != nil {
return nil, err
}
return e.thumbnail(image, width, height, options)
}
Dapatkan semula Maklumat Imej melalui Go API
Selain daripada mengubah saiz fungsi, Picfit juga mempunyai beberapa fungsi penting untuk mendapatkan semula maklumat fail seperti Get, serta perintah penyimpanan atau muat naik. Dengan fungsi Dapatkan anda akan mendapat parameter berikut sebagai hasilnya:
- Nama fail: nama fail yang dijana
- Laluan: ini akan menjadi laluan fail yang anda hasilkan pada enjin storan anda
- URL: jika base_url ada maka anda akan menerima URL penuh fail yang anda hasilkan