Merge pull request #24 from ccollins476ad/image-bin
image: Function to convert image to a byte slice
diff --git a/image/image.go b/image/image.go
index 9aa775f..d54eb82 100644
--- a/image/image.go
+++ b/image/image.go
@@ -20,6 +20,8 @@
package image
import (
+ "bufio"
+ "bytes"
"encoding/binary"
"fmt"
"io"
@@ -794,3 +796,20 @@
func (img *Image) IsEncrypted() bool {
return img.Header.Flags&IMAGE_F_ENCRYPTED != 0
}
+
+func (img *Image) Bin() ([]byte, error) {
+ b := &bytes.Buffer{}
+ w := bufio.NewWriter(b)
+
+ _, err := img.Write(w)
+ if err != nil {
+ return nil, err
+ }
+
+ err = w.Flush()
+ if err != nil {
+ return nil, err
+ }
+
+ return b.Bytes(), nil
+}