Heim > Backend-Entwicklung > Golang > Lesen Sie mehrseitige TIFF-Dateien und extrahieren Sie Bilder in Golang

Lesen Sie mehrseitige TIFF-Dateien und extrahieren Sie Bilder in Golang

PHPz
Freigeben: 2024-02-06 11:24:09
nach vorne
611 Leute haben es durchsucht

在 golang 中读取多页 tiff 并提取图像

Frageninhalt

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?


Richtige Antwort


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)
        }
    }
}
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage