Menyahkod dan Mengekod Imej Menggunakan Go
In Go, menukar imej daripada imej. Jenis imej kepada kepingan bait ([]bait ) adalah penting untuk menyimpan dan menghantar data imej. Artikel ini membentangkan isu biasa yang dihadapi semasa penukaran ini dan menyediakan penyelesaian.
Coretan kod yang disediakan cuba memuat turun imej daripada baldi, menyahkodnya kepada imej. Imej, ubah saiznya dan kemudian tukar saiz semula imej kembali ke kepingan bait untuk dimuat naik ke S3. Walau bagaimanapun, bahagian kod yang diserlahkan ialah di mana isu itu terletak.
// reset format the image.Image to data []byte here var send_S3 []byte var byteWriter = bufio.NewWriter(send_S3) err = jpeg.Encode(byteWriter, new_image, nil)
Isunya ialah bufio.Writer digunakan untuk menyimpan data sebelum menulisnya kepada penulis lain, tetapi dalam kes ini, kita perlu untuk menulis terus ke penimbal memori. Untuk menyelesaikan masalah ini, kami menggunakan bait.Penimbal sebaliknya, yang menulis ke memori.
buf := new(bytes.Buffer) err := jpeg.Encode(buf, new_image, nil) send_s3 := buf.Bytes()
Dengan menggunakan bait.Penimbal, imej yang diubah saiz ditulis terus ke memori, mencipta kepingan bait yang sesuai untuk memuat naik ke S3. Ini membolehkan kod berjaya mengekod dan memuat naik imej yang diubah saiz ke baldi yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Mengekod imej yang Disaizkan dengan Cekap. Imej kepada []bait dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!