Documentation ¶
Overview ¶
Package qrcode ... encoder.go working for data encoding
Index ¶
- Constants
- func SetDebugMode()
- type Config
- type DrawContext
- type IShape
- type ImageEncoder
- type ImageOption
- func WithBgColor(c color.Color) ImageOption
- func WithBgColorRGBHex(hex string) ImageOption
- func WithBuiltinImageEncoder(format formatTyp) ImageOption
- func WithCircleShape() ImageOption
- func WithCustomImageEncoder(encoder ImageEncoder) ImageOption
- func WithCustomShape(shape IShape) ImageOption
- func WithFgColor(c color.Color) ImageOption
- func WithFgColorRGBHex(hex string) ImageOption
- func WithLogoImage(img image.Image, fit bool) ImageOption
- func WithLogoImageFileJPEG(f string, fit bool) ImageOption
- func WithLogoImageFilePNG(f string, fit bool) ImageOption
- func WithQRWidth(width uint8) ImageOption
- type QRCode
Constants ¶
const ( // a value of EncModeAuto will trigger a detection of the letter set from the input data, EncModeAuto = 0 // EncModeNone mode ... EncModeNone encMode = 1 << iota // EncModeNumeric mode ... EncModeNumeric // EncModeAlphanumeric mode ... EncModeAlphanumeric // EncModeByte mode ... EncModeByte // EncModeJP mode ... EncModeJP )
const ( // JPEG_FORMAT as default output file format. JPEG_FORMAT formatTyp = iota // PNG_FORMAT . PNG_FORMAT )
const ( // ErrorCorrectionLow :Level L: 7% error recovery. ErrorCorrectionLow ecLevel = iota + 1 // ErrorCorrectionMedium :Level M: 15% error recovery. Good default choice. ErrorCorrectionMedium // ErrorCorrectionQuart :Level Q: 25% error recovery. ErrorCorrectionQuart // ErrorCorrectionHighest :Level H: 30% error recovery. ErrorCorrectionHighest )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config = outputEncodingOption
Config alias of outputEncodingOption.
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig with EncMode = EncModeAuto, EcLevel = ErrorCorrectionQuart
type DrawContext ¶
DrawContext is a rectangle area
func (*DrawContext) Color ¶
func (dc *DrawContext) Color() color.Color
Color returns the color which should be fill into the shape. Note that if you're not using this color but your coded color.Color, some ImageOption functions those set foreground color would take no effect.
func (*DrawContext) Edge ¶
func (dc *DrawContext) Edge() (width, height int)
Edge returns width and height of each shape could take at most.
func (*DrawContext) UpperLeft ¶
func (dc *DrawContext) UpperLeft() image.Point
UpperLeft returns the point which indicates the upper left position.
type IShape ¶
type IShape interface { // Draw to fill the IShape of qrcode. Draw(ctx *DrawContext) // DrawFinder to fill the finder pattern of QRCode, what's finder? google it for more information. DrawFinder(ctx *DrawContext) }
type ImageEncoder ¶
type ImageEncoder interface { // Encode specify which format to encode image into w io.Writer. Encode(w io.Writer, img image.Image) error }
ImageEncoder is an interface which describes the rule how to encode image.Image into io.Writer
type ImageOption ¶
type ImageOption interface {
// contains filtered or unexported methods
}
func WithBgColorRGBHex ¶
func WithBgColorRGBHex(hex string) ImageOption
WithBgColorRGBHex background color
func WithBuiltinImageEncoder ¶
func WithBuiltinImageEncoder(format formatTyp) ImageOption
WithBuiltinImageEncoder option includes: JPEG_FORMAT as default, PNG_FORMAT. This works like WithBuiltinImageEncoder, the different between them is formatTyp is enumerated in (JPEG_FORMAT, PNG_FORMAT)
func WithCircleShape ¶
func WithCircleShape() ImageOption
WithCircleShape use circle shape as rectangle(default)
func WithCustomImageEncoder ¶
func WithCustomImageEncoder(encoder ImageEncoder) ImageOption
WithBuiltinImageEncoder to use custom image encoder to encode image.Image into io.Writer
func WithCustomShape ¶
func WithCustomShape(shape IShape) ImageOption
WithCustomShape use custom shape as rectangle(default)
func WithFgColorRGBHex ¶
func WithFgColorRGBHex(hex string) ImageOption
WithFgColorRGBHex Hex string to set QR Color
func WithLogoImage ¶
func WithLogoImage(img image.Image, fit bool) ImageOption
WithLogoImage image should only has 1/5 width of QRCode at most
func WithLogoImageFileJPEG ¶
func WithLogoImageFileJPEG(f string, fit bool) ImageOption
WithLogoImageFileJPEG load image from file, jpeg is required. image should only has 1/5 width of QRCode at most
func WithLogoImageFilePNG ¶
func WithLogoImageFilePNG(f string, fit bool) ImageOption
WithLogoImageFilePNG load image from file, PNG is required. image should only has 1/5 width of QRCode at most
func WithQRWidth ¶
func WithQRWidth(width uint8) ImageOption
WithQRWidth specify width of each qr block
type QRCode ¶
type QRCode struct {
// contains filtered or unexported fields
}
QRCode contains fields to generate QRCode matrix, outputImageOptions to Draw image, and etc.
func New ¶
func New(text string, opts ...ImageOption) (*QRCode, error)
New generate a QRCode struct to create
func NewWithConfig ¶
func NewWithConfig(text string, encOpts *Config, opts ...ImageOption) (*QRCode, error)
NewWithConfig generate a QRCode struct with specified `ver`(QR version) and `ecLv`(Error Correction level)
func NewWithSpecV ¶
func NewWithSpecV(text string, ver int, ecLv ecLevel, opts ...ImageOption) (*QRCode, error)
NewWithSpecV generate a QRCode struct with specified `ver`(QR version) and `ecLv`(Error Correction level) Deprecated