当前位置: 首页>>代码示例>>Golang>>正文


Golang draw2d.PathBuilder类代码示例

本文整理汇总了Golang中github.com/julianshen/draw2d.PathBuilder的典型用法代码示例。如果您正苦于以下问题:Golang PathBuilder类的具体用法?Golang PathBuilder怎么用?Golang PathBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了PathBuilder类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Rectangle

// Rectangle draws a rectangle using a path between (x1,y1) and (x2,y2)
func Rectangle(path draw2d.PathBuilder, x1, y1, x2, y2 float64) {
	path.MoveTo(x1, y1)
	path.LineTo(x2, y1)
	path.LineTo(x2, y2)
	path.LineTo(x1, y2)
	path.Close()
}
开发者ID:julianshen,项目名称:draw2d,代码行数:8,代码来源:draw2dkit.go

示例2: rLineTo

func rLineTo(path draw2d.PathBuilder, x, y float64) {
	x0, y0 := path.LastPoint()
	path.LineTo(x0+x, y0+y)
}
开发者ID:julianshen,项目名称:draw2d,代码行数:4,代码来源:geometry.go

示例3: DrawContour

// DrawContour draws the given closed contour at the given sub-pixel offset.
func DrawContour(path draw2d.PathBuilder, ps []truetype.Point, dx, dy float64) {
	if len(ps) == 0 {
		return
	}
	startX, startY := pointToF64Point(ps[0])
	path.MoveTo(startX+dx, startY+dy)
	q0X, q0Y, on0 := startX, startY, true
	for _, p := range ps[1:] {
		qX, qY := pointToF64Point(p)
		on := p.Flags&0x01 != 0
		if on {
			if on0 {
				path.LineTo(qX+dx, qY+dy)
			} else {
				path.QuadCurveTo(q0X+dx, q0Y+dy, qX+dx, qY+dy)
			}
		} else {
			if on0 {
				// No-op.
			} else {
				midX := (q0X + qX) / 2
				midY := (q0Y + qY) / 2
				path.QuadCurveTo(q0X+dx, q0Y+dy, midX+dx, midY+dy)
			}
		}
		q0X, q0Y, on0 = qX, qY, on
	}
	// Close the curve.
	if on0 {
		path.LineTo(startX+dx, startY+dy)
	} else {
		path.QuadCurveTo(q0X+dx, q0Y+dy, startX+dx, startY+dy)
	}
}
开发者ID:julianshen,项目名称:draw2d,代码行数:35,代码来源:text.go

示例4: Circle

// Circle draws a circle using a path with center (cx,cy) and radius
func Circle(path draw2d.PathBuilder, cx, cy, radius float64) {
	path.ArcTo(cx, cy, radius, radius, 0, -math.Pi*2)
	path.Close()
}
开发者ID:julianshen,项目名称:draw2d,代码行数:5,代码来源:draw2dkit.go

示例5: Ellipse

// Ellipse draws an ellipse using a path with center (cx,cy) and radius (rx,ry)
func Ellipse(path draw2d.PathBuilder, cx, cy, rx, ry float64) {
	path.ArcTo(cx, cy, rx, ry, 0, -math.Pi*2)
	path.Close()
}
开发者ID:julianshen,项目名称:draw2d,代码行数:5,代码来源:draw2dkit.go

示例6: RoundedRectangle

// RoundedRectangle draws a rectangle using a path between (x1,y1) and (x2,y2)
func RoundedRectangle(path draw2d.PathBuilder, x1, y1, x2, y2, arcWidth, arcHeight float64) {
	arcWidth = arcWidth / 2
	arcHeight = arcHeight / 2
	path.MoveTo(x1, y1+arcHeight)
	path.QuadCurveTo(x1, y1, x1+arcWidth, y1)
	path.LineTo(x2-arcWidth, y1)
	path.QuadCurveTo(x2, y1, x2, y1+arcHeight)
	path.LineTo(x2, y2-arcHeight)
	path.QuadCurveTo(x2, y2, x2-arcWidth, y2)
	path.LineTo(x1+arcWidth, y2)
	path.QuadCurveTo(x1, y2, x1, y2-arcHeight)
	path.Close()
}
开发者ID:julianshen,项目名称:draw2d,代码行数:14,代码来源:draw2dkit.go

示例7: rCubicCurveTo

func rCubicCurveTo(path draw2d.PathBuilder, dcx1, dcy1, dcx2, dcy2, dx, dy float64) {
	x, y := path.LastPoint()
	path.CubicCurveTo(x+dcx1, y+dcy1, x+dcx2, y+dcy2, x+dx, y+dy)
}
开发者ID:julianshen,项目名称:draw2d,代码行数:4,代码来源:gopher.go

示例8: rQuadCurveTo

func rQuadCurveTo(path draw2d.PathBuilder, dcx, dcy, dx, dy float64) {
	x, y := path.LastPoint()
	path.QuadCurveTo(x+dcx, y+dcy, x+dx, y+dy)
}
开发者ID:julianshen,项目名称:draw2d,代码行数:4,代码来源:gopher.go


注:本文中的github.com/julianshen/draw2d.PathBuilder类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。