Rumah > Artikel > pembangunan bahagian belakang > Baca tiff berbilang halaman dan ekstrak imej dalam golang
Bagaimana untuk membahagikan tiff berbilang halaman kepada imej dalam Go? DecodeSemua imej/tiff mengembalikan TIFF yang mengandungi image.image. Tetapi tidak tahu bagaimana untuk menukar setiap satu kepada imej?
Memandangkan tidak banyak maklumat tentang pakej yang anda gunakan dalam soalan anda, saya mengandaikan anda menggunakan kaedah github.com/chai2010/tiff
模块。它只包含 decodeall
. Saya menggunakan tiff berbilang halaman awam. Kemudian saya menggunakan kod dari pakej docs. Anyway, saya citer kat sini
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) } } }
Ia mencipta berbilang tif
imej mengikut keperluan anda. Saya harap ini yang anda maksudkan
Atas ialah kandungan terperinci Baca tiff berbilang halaman dan ekstrak imej dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!