Documentation
¶
Overview ¶
drawパッケージは、画像合成関数を提供します。
このパッケージの紹介については、「Go image/drawパッケージ」を参照してください: https://golang.org/doc/articles/image_draw.html
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Drawer ¶ added in v1.2.0
Drawerは Draw メソッドを含みます。
Example (FloydSteinberg) ¶
package main import ( "github.com/shogo82148/std/fmt" "github.com/shogo82148/std/image" "github.com/shogo82148/std/image/color" "github.com/shogo82148/std/image/draw" "github.com/shogo82148/std/math" ) func main() { const width = 130 const height = 50 im := image.NewGray(image.Rectangle{Max: image.Point{X: width, Y: height}}) for x := 0; x < width; x++ { for y := 0; y < height; y++ { dist := math.Sqrt(math.Pow(float64(x-width/2), 2)/3+math.Pow(float64(y-height/2), 2)) / (height / 1.5) * 255 var gray uint8 if dist > 255 { gray = 255 } else { gray = uint8(dist) } im.SetGray(x, y, color.Gray{Y: 255 - gray}) } } pi := image.NewPaletted(im.Bounds(), []color.Color{ color.Gray{Y: 255}, color.Gray{Y: 160}, color.Gray{Y: 70}, color.Gray{Y: 35}, color.Gray{Y: 0}, }) draw.FloydSteinberg.Draw(pi, im.Bounds(), im, image.Point{}) shade := []string{" ", "░", "▒", "▓", "█"} for i, p := range pi.Pix { fmt.Print(shade[p]) if (i+1)%width == 0 { fmt.Print("\n") } } }
Output:
type RGBA64Image ¶ added in v1.17.0
type RGBA64Image interface { image.RGBA64Image Set(x, y int, c color.Color) SetRGBA64(x, y int, c color.RGBA64) }
RGBA64Imageは、単一のピクセルを変更するSetRGBA64メソッドで、Image と image.RGBA64Image の インターフェースを拡張します。SetRGBA64はSetを呼び出すのと同等ですが、具体的な色の タイプを color.Color インターフェースタイプに変換する際の割り当てを避けることができます。
Click to show internal directories.
Click to hide internal directories.