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


Golang draw.Image類代碼示例

本文整理匯總了Golang中exp/draw.Image的典型用法代碼示例。如果您正苦於以下問題:Golang Image類的具體用法?Golang Image怎麽用?Golang Image使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Image類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: clear

func clear(s draw.Image) {
	b := s.Bounds()
	for i := b.Min.X; i < b.Max.X; i++ {
		for j := b.Min.Y; j < b.Max.Y; j++ {
			s.Set(i, j, black)
		}
	}
}
開發者ID:taysom,項目名稱:va,代碼行數:8,代碼來源:ifsrnd.go

示例2: drawCircle

// http://en.wikipedia.org/wiki/Midpoint_circle_algorithm
func drawCircle(img draw.Image, cx int, cy int, r int, c image.RGBAColor, fc image.RGBAColor) {
	x := r
	y := 0
	error := -r
	for x >= y {
		var t int
		t = cy + y
		if fc.A != uint8(0) {
			drawHorizontalLine(img, cx-x, cx+x, t, fc)
		}
		if c.A != uint8(0) {
			set(img, cx+x, t, c)
			set(img, cx-x, t, c)
		}
		t = cy - y
		if fc.A != uint8(0) {
			drawHorizontalLine(img, cx-x, cx+x, t, fc)
		}
		if c.A != uint8(0) {
			set(img, cx+x, t, c)
			set(img, cx-x, t, c)
		}
		t = cy + x
		if fc.A != uint8(0) {
			drawHorizontalLine(img, cx-y, cx+y, t, fc)
		}
		if c.A != uint8(0) {
			set(img, cx+y, t, c)
			set(img, cx-y, t, c)
		}
		t = cy - x
		if fc.A != uint8(0) {
			drawHorizontalLine(img, cx-y, cx+y, t, fc)
		}
		if c.A != uint8(0) {
			img.Set(cx+y, t, c)
			img.Set(cx-y, t, c)
		}
		error += y
		y += 1
		error += y
		if error >= 0 {
			x -= 1
			error -= x
			error -= x
		}
	}
}
開發者ID:tanaton,項目名稱:reversikun,代碼行數:49,代碼來源:reversikun.go

示例3: plot

func plot(s draw.Image, v []Point) {
	clear(s)
	min, max := scale(v)
	b := s.Bounds()
	xscale := float64(b.Max.X-b.Min.X) / (max.x - min.x) * Shrink
	yscale := float64(b.Max.Y-b.Min.Y) / (max.y - min.y) * Shrink
	xoffset := -(min.x * xscale) + 4
	yoffset := -(min.y * yscale) + 4
	for _, p := range v {
		x := int(xscale*p.x + xoffset)
		y := int(yscale*p.y + yoffset)
		if x < 0 || y < 0 {
			fmt.Println(min, max)
			fmt.Println(x, y)
			fmt.Println(p.x, xscale, xoffset)
			fmt.Println(p.y, yscale, yoffset)
		}
		s.Set(x, y, Color)
	}
}
開發者ID:taysom,項目名稱:va,代碼行數:20,代碼來源:ifsrnd.go

示例4: set

func set(img draw.Image, x, y int, c image.RGBAColor) {
	if x >= 0 && y >= 0 && x < img.Width() && y < img.Height() {
		img.Set(x, y, c)
	}
}
開發者ID:tanaton,項目名稱:reversikun,代碼行數:5,代碼來源:reversikun.go


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