Heim >Backend-Entwicklung >Golang >Lesen Sie mehrseitige TIFF-Dateien und extrahieren Sie Bilder in Golang
Wie teilt man mehrseitige TIFF-Dateien in Go in Bilder auf? DecodeAll of image/tiff gibt ein TIFF zurück, das image.image enthält. Sie wissen jedoch nicht, wie Sie die einzelnen Dateien in ein Bild umwandeln sollen?
Da es nicht viele Informationen über das Paket gibt, das Sie in Ihrer Frage verwendet haben, gehe ich davon aus, dass Sie die github.com/chai2010/tiff
模块。它只包含 decodeall
-Methode verwendet haben. Ich habe öffentliches mehrseitiges TIFF verwendet. Dann habe ich den Code aus dem Paket docs verwendet. Ich zitiere es jedenfalls hier
package main import ( "bytes" "fmt" "io/ioutil" "log" "path/filepath" "github.com/chai2010/tiff" ) func main() { b, err := ioutil.ReadFile("Multi_page24bpp.tif") if err != nil { panic(err) } // Decode tiff m, errors, err := tiff.DecodeAll(bytes.NewReader(b)) if err != nil { log.Println(err) } // Encode tiff for i := 0; i < len(m); i++ { for j := 0; j < len(m[i]); j++ { newname := fmt.Sprintf("%s-%02d-%02d.tif", filepath.Base("Multi_page24bpp.tif"), i, j) if errors[i][j] != nil { log.Printf("%s: %v\n", newname, err) continue } var buf bytes.Buffer if err = tiff.Encode(&buf, m[i][j], nil); err != nil { log.Fatal(err) } if err = ioutil.WriteFile(newname, buf.Bytes(), 0666); err != nil { log.Fatal(err) } fmt.Printf("Save %s ok\n", newname) } } }
Es erstellt mehrere tif
Bilder gemäß Ihren Anforderungen. Ich hoffe, das ist es, was du meintest
Das obige ist der detaillierte Inhalt vonLesen Sie mehrseitige TIFF-Dateien und extrahieren Sie Bilder in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!