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)