Documentation ¶
Overview ¶
Eine Sammlung von Funktionen um Pixel-, resp. Rasterbilder zu erstellen.
Index ¶
- func CubicBezier(x0, y0, x1, y1, x2, y2, x3, y3 float64) []Point
- func Degrees(radians float64) float64
- func LoadFontFace(path string, points float64) (font.Face, error)
- func LoadImage(path string) (image.Image, error)
- func LoadJPG(path string) (image.Image, error)
- func LoadPNG(path string) (image.Image, error)
- func Radians(degrees float64) float64
- func SaveJPG(path string, im image.Image, quality int) error
- func SavePNG(path string, im image.Image) error
- type Align
- type Context
- func (dc *Context) AsMask() *image.Alpha
- func (dc *Context) Bounds() geom.Rectangle
- func (dc *Context) Clear()
- func (dc *Context) ClearPath()
- func (dc *Context) Clip()
- func (dc *Context) ClipPreserve()
- func (dc *Context) ClosePath()
- func (dc *Context) CubicTo(x1, y1, x2, y2, x3, y3 float64)
- func (dc *Context) DrawArc(x, y, r, angle1, angle2 float64)
- func (dc *Context) DrawCircle(x, y, r float64)
- func (dc *Context) DrawEllipse(x, y, rx, ry float64)
- func (dc *Context) DrawEllipticalArc(x, y, rx, ry, angle1, angle2 float64)
- func (dc *Context) DrawImage(im image.Image, x, y float64)
- func (dc *Context) DrawImageAnchored(im image.Image, x, y, ax, ay float64)
- func (dc *Context) DrawLine(x1, y1, x2, y2 float64)
- func (dc *Context) DrawPoint(x, y, r float64)
- func (dc *Context) DrawRectangle(x, y, w, h float64)
- func (dc *Context) DrawRegularPolygon(n int, x, y, r, rotation float64)
- func (dc *Context) DrawRoundedRectangle(x, y, w, h, r float64)
- func (dc *Context) DrawString(s string, x, y float64)
- func (dc *Context) DrawStringAnchored(s string, x, y, ax, ay float64)
- func (dc *Context) DrawStringWrapped(s string, x, y, ax, ay, width, lineSpacing float64, align Align)
- func (dc *Context) EncodeHTML()
- func (dc *Context) EncodeJPG(w io.Writer, o *jpeg.Options) error
- func (dc *Context) EncodePNG(w io.Writer) error
- func (dc *Context) Fill()
- func (dc *Context) FillPreserve()
- func (dc *Context) FillStroke()
- func (dc *Context) FontHeight() float64
- func (dc *Context) GetCurrentPoint() (geom.Point, bool)
- func (dc *Context) Height() int
- func (dc *Context) Identity()
- func (dc *Context) Image() image.Image
- func (dc *Context) InvertMask()
- func (dc *Context) LineTo(x, y float64)
- func (dc *Context) LoadFontFace(path string, points float64) error
- func (dc *Context) Mask() *image.Alpha
- func (dc *Context) Matrix() geom.Matrix
- func (dc *Context) MeasureMultilineString(s string, lineSpacing float64) (width, height float64)
- func (dc *Context) MeasureString(s string) (w, h float64)
- func (dc *Context) MoveTo(x, y float64)
- func (dc *Context) Multiply(m geom.Matrix)
- func (dc *Context) NewSubPath()
- func (dc *Context) Pop()
- func (dc *Context) Push()
- func (dc *Context) QuadraticTo(x1, y1, x2, y2 float64)
- func (dc *Context) ResetClip()
- func (dc *Context) Rotate(angle float64)
- func (dc *Context) RotateAbout(angle, x, y float64)
- func (dc *Context) SaveJPG(path string, quality int) error
- func (dc *Context) SavePNG(path string) error
- func (dc *Context) Scale(sx, sy float64)
- func (dc *Context) ScaleAbout(sx, sy, x, y float64)
- func (dc *Context) SetDash(dashes ...float64)
- func (dc *Context) SetDashOffset(offset float64)
- func (dc *Context) SetFillColor(c color.Color)
- func (dc *Context) SetFillRule(fillRule FillRule)
- func (dc *Context) SetFillRuleEvenOdd()
- func (dc *Context) SetFillRuleWinding()
- func (dc *Context) SetFillStyle(pattern Pattern)
- func (dc *Context) SetFontFace(fontFace font.Face)
- func (dc *Context) SetLineCap(lineCap LineCap)
- func (dc *Context) SetLineCapButt()
- func (dc *Context) SetLineCapRound()
- func (dc *Context) SetLineCapSquare()
- func (dc *Context) SetLineJoin(lineJoin LineJoin)
- func (dc *Context) SetLineJoinBevel()
- func (dc *Context) SetLineJoinRound()
- func (dc *Context) SetMask(mask *image.Alpha) error
- func (dc *Context) SetMatrix(m geom.Matrix)
- func (dc *Context) SetPixel(x, y int, c color.Color)
- func (dc *Context) SetStrokeColor(c color.Color)
- func (dc *Context) SetStrokeStyle(pattern Pattern)
- func (dc *Context) SetStrokeWidth(lineWidth float64)
- func (dc *Context) Stroke()
- func (dc *Context) StrokeFill()
- func (dc *Context) StrokePreserve()
- func (dc *Context) TransformPoint(x, y float64) (tx, ty float64)
- func (dc *Context) TransformVector(x, y float64) (tx, ty float64)
- func (dc *Context) Translate(tx, ty float64)
- func (dc *Context) Width() int
- func (dc *Context) WordWrap(s string, w float64) []string
- type FillRule
- type Gradient
- type LineCap
- type LineJoin
- type Pattern
- type RepeatOp
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CubicBezier ¶
func CubicBezier(x0, y0, x1, y1, x2, y2, x3, y3 float64) []Point
func LoadFontFace ¶
LoadFontFace is a helper function to load the specified font file with the specified point size. Note that the returned `font.Face` objects are not thread safe and cannot be used in parallel across goroutines. You can usually just use the Context.LoadFontFace function instead of this package-level function.
func LoadImage ¶
Läadt das Bild in der Datei path und stellt die Bilddaten als Image im ersten Rückgabewert zur Verfügung. Bei einem Fehler ist der zweite Rückgabewert nicht nil und muss entsprechend behandelt werden.
func LoadPNG ¶
Wie LoadImage, jedoch ausschliesslich für PNG-Dateien. Bei einem Fehler ist der zweite Rückgabewert nicht nil und muss entsprechend behandelt werden.
Types ¶
type Context ¶
type Context struct {
// contains filtered or unexported fields
}
func NewContext ¶
NewContext creates a new image.RGBA with the specified width and height and prepares a context for rendering onto that image.
func NewContextForImage ¶
NewContextForImage copies the specified image into a new image.RGBA and prepares a context for rendering onto that image.
func NewContextForRGBA ¶
NewContextForRGBA prepares a context for rendering onto the specified image. No copy is made.
func (*Context) AsMask ¶
AsMask returns an *image.Alpha representing the alpha channel of this context. This can be useful for advanced clipping operations where you first render the mask geometry and then use it as a mask.
func (*Context) Clear ¶
func (dc *Context) Clear()
Clear fills the entire image with the current color.
func (*Context) ClearPath ¶
func (dc *Context) ClearPath()
ClearPath clears the current path. There is no current point after this operation.
func (*Context) Clip ¶
func (dc *Context) Clip()
Clip updates the clipping region by intersecting the current clipping region with the current path as it would be filled by dc.Fill(). The path is cleared after this operation.
func (*Context) ClipPreserve ¶
func (dc *Context) ClipPreserve()
ClipPreserve updates the clipping region by intersecting the current clipping region with the current path as it would be filled by dc.Fill(). The path is preserved after this operation.
func (*Context) ClosePath ¶
func (dc *Context) ClosePath()
ClosePath adds a line segment from the current point to the beginning of the current subpath. If there is no current point, this is a no-op.
func (*Context) CubicTo ¶
CubicTo adds a cubic bezier curve to the current path starting at the current point. If there is no current point, it first performs MoveTo(x1, y1). Because freetype/raster does not support cubic beziers, this is emulated with many small line segments.
func (*Context) DrawCircle ¶
func (*Context) DrawEllipse ¶
func (*Context) DrawEllipticalArc ¶
func (*Context) DrawImageAnchored ¶
DrawImageAnchored draws the specified image at the specified anchor point. The anchor point is x - w * ax, y - h * ay, where w, h is the size of the image. Use ax=0.5, ay=0.5 to center the image at the specified point.
func (*Context) DrawPoint ¶
DrawPoint is like DrawCircle but ensures that a circle of the specified size is drawn regardless of the current transformation matrix. The position is still transformed, but not the shape of the point.
func (*Context) DrawRectangle ¶
func (*Context) DrawRegularPolygon ¶
func (*Context) DrawRoundedRectangle ¶
func (*Context) DrawString ¶
DrawString draws the specified text at the specified point.
func (*Context) DrawStringAnchored ¶
DrawStringAnchored draws the specified text at the specified anchor point. The anchor point is x - w * ax, y - h * ay, where w, h is the size of the text. Use ax=0.5, ay=0.5 to center the text at the specified point.
func (*Context) DrawStringWrapped ¶
func (dc *Context) DrawStringWrapped(s string, x, y, ax, ay, width, lineSpacing float64, align Align)
DrawStringWrapped word-wraps the specified string to the given max width and then draws it at the specified anchor point using the given line spacing and text alignment.
func (*Context) EncodeHTML ¶ added in v1.1.0
func (dc *Context) EncodeHTML()
Diese Methode dient aktuell ausschliesslich dazu, die Bilder auch auf "Better Go Playground" anzeigen zu können. Ob dieses Kunststück auch auf weiteren Web-Umgebungen gelingt, kann ich nicht sagen.
func (*Context) EncodeJPG ¶
EncodeJPG encodes the image as a JPG and writes it to the provided io.Writer in JPEG 4:2:0 baseline format with the given options. Default parameters are used if a nil *jpeg.Options is passed.
func (*Context) EncodePNG ¶
EncodePNG codiert das Bild als PNG Daten und schreibt sie über den angegebenen io.Writer.
func (*Context) Fill ¶
func (dc *Context) Fill()
Fill fills the current path with the current color. Open subpaths are implicity closed. The path is cleared after this operation.
func (*Context) FillPreserve ¶
func (dc *Context) FillPreserve()
FillPreserve fills the current path with the current color. Open subpaths are implicity closed. The path is preserved after this operation.
func (*Context) FillStroke ¶
func (dc *Context) FillStroke()
FillStroke is a convenient functions which does a FillPreserve first and a Stroke afterwards. See also [StrokeFill].
func (*Context) FontHeight ¶
func (*Context) GetCurrentPoint ¶
GetCurrentPoint will return the current point and if there is a current point. The point will have been transformed by the context's transformation matrix.
func (*Context) Identity ¶
func (dc *Context) Identity()
Stellt die Transformationsmatrix auf die Einheitsmatrix.
func (*Context) InvertMask ¶
func (dc *Context) InvertMask()
InvertMask inverts the alpha values in the current clipping mask such that a fully transparent region becomes fully opaque and vice versa.
func (*Context) LineTo ¶
LineTo adds a line segment to the current path starting at the current point. If there is no current point, it is equivalent to MoveTo(x, y)
func (*Context) Matrix ¶
Liefert die aktuelle Transformationsmatrix. Die Transformation dieses Kontexts kann entweder über eine Reihe von Methoden ('Rotate()', 'Scale()', etc.) oder direkt durch Auslesen, Anpassen und mittels 'SetMatrix()' Zurückschreiben der Matrix verändert werden.
func (*Context) MeasureMultilineString ¶
func (*Context) MeasureString ¶
MeasureString returns the rendered width and height of the specified text given the current font face.
func (*Context) MoveTo ¶
MoveTo starts a new subpath within the current path starting at the specified point.
func (*Context) Multiply ¶
Hängt die Transformation im 'm' der aktuellen Transformationsmatrix an. Die neue Transformation wird also durch Rechtsmultiplikation mit 'm' gebildet.
func (*Context) NewSubPath ¶
func (dc *Context) NewSubPath()
NewSubPath starts a new subpath within the current path. There is no current point after this operation.
func (*Context) Pop ¶
func (dc *Context) Pop()
Holt die zuletzt gesicherten Einstellungen vom Stack. Siehe auch [Push].
func (*Context) Push ¶
func (dc *Context) Push()
Sichert die aktuellen Einstellungen des graphischen Kontexts auf einem Stack. Siehe auch [Pop].
func (*Context) QuadraticTo ¶
QuadraticTo adds a quadratic bezier curve to the current path starting at the current point. If there is no current point, it first performs MoveTo(x1, y1)
func (*Context) Rotate ¶
Ergänzt die aktuelle Transformation um eine Rotation im Gegenuhrzeigersinn. Der Winkel ist im Bogenmass anzugeben.
func (*Context) RotateAbout ¶
Ergänzt die aktuelle Transformation um eine Rotation im Gegenuhrzeigersinn um einen bestimmten Rotationspunkt. Der Winkel ist im Bogenmass anzugeben.
func (*Context) SaveJPG ¶
SaveJPG codiert das Bild as JPEG Daten und schreibt diese in die Datei path. Mit quality kann die Kompressionsrate vorgegeben werden.
func (*Context) SavePNG ¶
SavePNG codiert das Bild als PNG Daten und schreibt diese in die Datei path.
func (*Context) Scale ¶
Ergänzt die atuelle Transformation um eine Skalierung, wobei die Skalierung in X-, resp. Y-Richtung getrennt angegeben werden kann.
func (*Context) ScaleAbout ¶
Ergänzt die atuelle Transformation um eine Skalierung, wobei die Skalierung in X-, resp. Y-Richtung getrennt angegeben werden kann. Der Mittelpunkt der Streckung befindet sich beim Punkt 'x,y'.
func (*Context) SetDash ¶
SetDash sets the current dash pattern to use. Call with zero arguments to disable dashes. The values specify the lengths of each dash, with alternating on and off lengths.
func (*Context) SetDashOffset ¶
SetDashOffset sets the initial offset into the dash pattern to use when stroking dashed paths.
func (*Context) SetFillColor ¶
func (*Context) SetFillRule ¶
func (*Context) SetFillRuleEvenOdd ¶
func (dc *Context) SetFillRuleEvenOdd()
func (*Context) SetFillRuleWinding ¶
func (dc *Context) SetFillRuleWinding()
func (*Context) SetFillStyle ¶
SetFillStyle sets current fill style
func (*Context) SetFontFace ¶
func (*Context) SetLineCap ¶
func (*Context) SetLineCapButt ¶
func (dc *Context) SetLineCapButt()
func (*Context) SetLineCapRound ¶
func (dc *Context) SetLineCapRound()
func (*Context) SetLineCapSquare ¶
func (dc *Context) SetLineCapSquare()
func (*Context) SetLineJoin ¶
func (*Context) SetLineJoinBevel ¶
func (dc *Context) SetLineJoinBevel()
func (*Context) SetLineJoinRound ¶
func (dc *Context) SetLineJoinRound()
func (*Context) SetMask ¶
SetMask allows you to directly set the *image.Alpha to be used as a clipping mask. It must be the same size as the context, else an error is returned and the mask is unchanged.
func (*Context) SetMatrix ¶
Überschreibt die aktuelle Transformationsmatrix der Zeichenumgebung mit dem Parameter 'm'.
func (*Context) SetStrokeColor ¶
func (*Context) SetStrokeStyle ¶
SetStrokeStyle sets current stroke style
func (*Context) SetStrokeWidth ¶
Legt die Breite fest, mit der ein Pfad gezeichnet werden soll.
func (*Context) Stroke ¶
func (dc *Context) Stroke()
Stroke strokes the current path with the current color, line width, line cap, line join and dash settings. The path is cleared after this operation.
func (*Context) StrokeFill ¶
func (dc *Context) StrokeFill()
StrokeFill is a convenient functions which does a StrokePreserve first and a Fill afterwards. See also [FillStroke].
func (*Context) StrokePreserve ¶
func (dc *Context) StrokePreserve()
StrokePreserve strokes the current path with the current color, line width, line cap, line join and dash settings. The path is preserved after this operation.
func (*Context) TransformPoint ¶
Transformiert den Punkt '(x,y)' mit der aktuellen Transformatiomsmatrix und Liefert das Resultat als Zahlenpaar. Translationen werden durchgeführt. Vergleiche dazu auch die Methode [TransformVector].
func (*Context) TransformVector ¶
Transformiert den Punkt '(x,y)' mit der aktuellen Transformatiomsmatrix und Liefert das Resultat als Zahlenpaar. Translationen werden _nicht_ durchgeführt. Vergleiche dazu auch die Methode [TransformPoint].
func (*Context) Translate ¶
Ergänzt die aktuelle Transformation um eine Translation um die angegebenen Werte.
type Pattern ¶
func NewSolidPattern ¶
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Erweiterung des Packages 'image/color' um neue Farbtypen.
|
Erweiterung des Packages 'image/color' um neue Farbtypen. |
Bietet einen einfachen Zugriff auf die Go-Fonts aber auch auf eine Reihe von OpenSource-Schriten.
|
Bietet einen einfachen Zugriff auf die Go-Fonts aber auch auf eine Reihe von OpenSource-Schriten. |
Package mit Typen für grundlegende, geometrische 2D-Operationen.
|
Package mit Typen für grundlegende, geometrische 2D-Operationen. |