github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/image/format.go (about)

     1  // Copyright 2010 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package image
     6  
     7  import (
     8  	"github.com/shogo82148/std/errors"
     9  	"github.com/shogo82148/std/io"
    10  )
    11  
    12  // ErrFormatは、デコードが未知のフォーマットに遭遇したことを示します。
    13  var ErrFormat = errors.New("image: unknown format")
    14  
    15  // RegisterFormatは、[Decode] によって使用される画像フォーマットを登録します。
    16  // Nameはフォーマットの名前で、"jpeg"や"png"のようなものです。
    17  // Magicは、フォーマットのエンコーディングを識別するマジックプレフィックスです。マジック
    18  // 文字列は、それぞれ任意の1バイトにマッチする"?"ワイルドカードを含むことができます。
    19  // [Decode] は、エンコードされた画像をデコードする関数です。
    20  // [DecodeConfig] は、その設定だけをデコードする関数です。
    21  func RegisterFormat(name, magic string, decode func(io.Reader) (Image, error), decodeConfig func(io.Reader) (Config, error))
    22  
    23  // Decodeは、登録されたフォーマットでエンコードされた画像をデコードします。
    24  // 返される文字列は、フォーマット登録時に使用されたフォーマット名です。
    25  // フォーマットの登録は、通常、コーデック固有のパッケージのinit関数によって行われます。
    26  func Decode(r io.Reader) (Image, string, error)
    27  
    28  // DecodeConfigは、登録されたフォーマットでエンコードされた画像のカラーモデルと寸法をデコードします。
    29  // 返される文字列は、フォーマット登録時に使用されたフォーマット名です。
    30  // フォーマットの登録は、通常、コーデック固有のパッケージのinit関数によって行われます。
    31  func DecodeConfig(r io.Reader) (Config, string, error)