在Golang 中將Image.Image 轉換為[]byte
在Golang 中進行影像處理時,有時需要將image.Image物件轉為位元組數組([]byte)以方便其儲存或傳輸。常見的場景是調整圖像大小並將其上傳到 Amazon S3 等物件儲存服務。
在影像處理過程中,影像資料的格式需要從 []byte 變更為 image.Image,然後再變更回[]位元組。嘗試將調整大小的圖像轉換回 []byte 以上傳到 S3 時會出現困難。
解決方案:
要解決此問題,不使用充當快取層的 bufio.Writer,而是使用 bytes.Buffer。 bytes.Buffer 將資料直接寫入內存,使其適合捕獲字節數組中的編碼圖像資料。
程式碼片段:
以下程式碼片段範例如何使用a 將調整大小的image.Image (new_image) 轉換為[]byte bytes.Buffer:
透過利用bytes.Buffer,調整大小的圖像已成功轉換為[]byte數組,從而可以上傳到 Amazon S3。
以上是如何有效率地將Golang image.Image轉換為[]byte進行儲存?的詳細內容。更多資訊請關注PHP中文網其他相關文章!