当前位置: 首页>>代码示例>>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;未经允许,请勿转载。