Documentation
¶
Index ¶
- Variables
- func ResampleImage(m image.Image, r image.Rectangle, w, h int) image.Image
- func ResizeImage(m image.Image, r image.Rectangle, w, h int) image.Image
- func ValidUrlFilename(filename string) string
- func ViewPath(name string) view.ViewPath
- type Backend
- type Configuration
- type ErrInvalidImageID
- type FormFieldFactory
- type HorAlignment
- type Image
- func (self *Image) AspectRatio() float64
- func (self *Image) ContentType() string
- func (self *Image) Filename() string
- func (self *Image) Grayscale() bool
- func (self *Image) Height() int
- func (self *Image) Init()
- func (self *Image) Rectangle() image.Rectangle
- func (self *Image) Thumbnail(size int) (im *ImageVersion, err error)
- func (self *Image) Version(width, height int, horAlign HorAlignment, verAlign VerAlignment, ...) (im *ImageVersion, err error)
- func (self *Image) VersionCentered(width, height int, grayscale bool) (im *ImageVersion, err error)
- func (self *Image) VersionSourceRect(sourceRect image.Rectangle, width, height int, grayscale bool, ...) (im *ImageVersion, err error)
- func (self *Image) VersionTouchOrigFromOutside(width, height int, horAlign HorAlignment, verAlign VerAlignment, ...) (im *ImageVersion, err error)
- func (self *Image) VersionTouchOrigFromOutsideCentered(width, height int, grayscale bool, outsideColor color.Color) (im *ImageVersion, err error)
- func (self *Image) Width() int
- type ImageRef
- type ImageVersion
- func (self *ImageVersion) AspectRatio() float64
- func (self *ImageVersion) LoadImage() (image.Image, error)
- func (self *ImageVersion) SaveImage(im image.Image) error
- func (self *ImageVersion) SaveImageData(data []byte) error
- func (self *ImageVersion) URL() view.URL
- func (self *ImageVersion) ViewImage(class string) *view.Image
- func (self *ImageVersion) ViewImageLink(imageClass, linkClass string) *view.Link
- type ModelRect
- type VerAlignment
Constants ¶
This section is empty.
Variables ¶
View Source
var View = view.NewViewURLWrapper(view.RenderView( func(ctx *view.Context) error { reader, contentType, err := Config.Backend.ImageVersionReader(ctx.URLArgs[0]) if err != nil { if _, ok := err.(ErrInvalidImageID); ok { return view.NotFound(ctx.URLArgs[0] + "/" + ctx.URLArgs[1] + " not found") } return err } _, err = io.Copy(ctx.Response, reader) if err != nil { return err } err = reader.Close() if err != nil { return err } ctx.Response.Header().Set("Content-Type", contentType) return nil }, ))
Functions ¶
func ResampleImage ¶
Resample returns a resampled copy of the image slice r of m. The returned image has width w and height h.
func ResizeImage ¶
Resize returns a scaled copy of the image slice r of m. The returned image has width w and height h.
func ValidUrlFilename ¶
Types ¶
type Backend ¶
type Backend interface { LoadImage(id string) (*Image, error) // image.ID will be updated if empty SaveImage(image *Image) error // ImageVersionReader returns an io.ReadCloser to read the image-data // with the given id from the backend // If there is no image with the given id, // err will be of type ErrInvalidImageID ImageVersionReader(id string) (reader io.ReadCloser, ctype string, err error) // ImageVersionWriter returns an io.WriteCloser to write the image-data // to the backend. version.ID can be empty for a new image or the id // of an existing image. version.ID can be changed by the function call // regardless of the former value ImageVersionWriter(version *ImageVersion) (writer io.WriteCloser, err error) }
type Configuration ¶
type Configuration struct {
Backend Backend
}
var Config Configuration
func (*Configuration) Close ¶
func (self *Configuration) Close() error
func (*Configuration) Init ¶
func (self *Configuration) Init() error
func (*Configuration) Name ¶
func (self *Configuration) Name() string
type ErrInvalidImageID ¶
type ErrInvalidImageID string
func (ErrInvalidImageID) Error ¶
func (self ErrInvalidImageID) Error() string
type FormFieldFactory ¶
type FormFieldFactory struct { view.FormFieldFactoryWrapper ImageWidgetClass string ThumbnailSize int }
func NewFormFieldFactory ¶
func NewFormFieldFactory(wrapped view.FormFieldFactory, imageWidgetClass string, thumbnailsize int) *FormFieldFactory
func (*FormFieldFactory) CanCreateInput ¶
type Image ¶
type Image struct { ID model.String `bson:",omitempty"` Description model.String Link model.Url Versions []ImageVersion }
func NewImage ¶
NewImage creates a new Image and saves the original version to Config.Backend. GIF, TIFF, BMP images will be read, but written as PNG.
func (*Image) AspectRatio ¶
AspectRatio returns Width / Height
func (*Image) ContentType ¶
func (*Image) Version ¶
func (self *Image) Version(width, height int, horAlign HorAlignment, verAlign VerAlignment, grayscale bool) (im *ImageVersion, err error)
func (*Image) VersionCentered ¶
func (self *Image) VersionCentered(width, height int, grayscale bool) (im *ImageVersion, err error)
func (*Image) VersionSourceRect ¶
func (self *Image) VersionSourceRect(sourceRect image.Rectangle, width, height int, grayscale bool, outsideColor color.Color) (im *ImageVersion, err error)
SourceRectVersion searches and returns an existing matching version, or a new one will be created and saved.
func (*Image) VersionTouchOrigFromOutside ¶
func (self *Image) VersionTouchOrigFromOutside(width, height int, horAlign HorAlignment, verAlign VerAlignment, grayscale bool, outsideColor color.Color) (im *ImageVersion, err error)
func (*Image) VersionTouchOrigFromOutsideCentered ¶
type ImageVersion ¶
type ImageVersion struct { ID model.String `bson:",omitempty"` Filename model.String ContentType model.String SourceRect ModelRect OutsideColor model.Color Width model.Int Height model.Int Grayscale model.Bool // contains filtered or unexported fields }
func (*ImageVersion) AspectRatio ¶
func (self *ImageVersion) AspectRatio() float64
AspectRatio returns Width / Height
func (*ImageVersion) SaveImageData ¶
func (self *ImageVersion) SaveImageData(data []byte) error
func (*ImageVersion) URL ¶
func (self *ImageVersion) URL() view.URL
func (*ImageVersion) ViewImageLink ¶
func (self *ImageVersion) ViewImageLink(imageClass, linkClass string) *view.Link
type ModelRect ¶
func (*ModelRect) SetRectangle ¶
Click to show internal directories.
Click to hide internal directories.