當前位置: 首頁>>代碼示例>>Golang>>正文


Golang draw2d.PathBuilder類代碼示例

本文整理匯總了Golang中github.com/llgcode/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:zzn01,項目名稱:draw2d,代碼行數:8,代碼來源:draw2dkit.go

示例2: 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:zzn01,項目名稱:draw2d,代碼行數:5,代碼來源:draw2dkit.go

示例3: 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:zzn01,項目名稱:draw2d,代碼行數:5,代碼來源:draw2dkit.go

示例4: 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:zzn01,項目名稱:draw2d,代碼行數:14,代碼來源:draw2dkit.go

示例5: 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:zzn01,項目名稱:draw2d,代碼行數:35,代碼來源:text.go

示例6: 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:zzn01,項目名稱:draw2d,代碼行數:4,代碼來源:gopher.go

示例7: 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:zzn01,項目名稱:draw2d,代碼行數:4,代碼來源:gopher.go

示例8: rLineTo

func rLineTo(path draw2d.PathBuilder, x, y float64) {
	x0, y0 := path.LastPoint()
	path.LineTo(x0+x, y0+y)
}
開發者ID:zzn01,項目名稱:draw2d,代碼行數:4,代碼來源:geometry.go


注:本文中的github.com/llgcode/draw2d.PathBuilder類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。