вторник, 15 января 2019 г.

Основы Go: интерфейс Image

Пакет image объявляет интерфейс Image:

package image

type Image interface {
    ColorModel() color.Model
    Bounds() Rectangle
    At(x, y int) color.Color
}

Замечание: возвращаемое значение Rectangle метода Bounds на самом деле image.Rectangle, т.к. его объявление находится внутри пакета image.

Типы color.Color и color.Model также являются интерфейсами, но мы проигнорируем это, и будем использовать определенные заранее реализации color.RGBA и color.RGBAModel. Эти интерфейсы и типы объявлены в пакете image/color

package main

import (
  "fmt"
  "image"
)

func main() {
  m := image.NewRGBA(image.Rect(0, 0, 100, 100))
  fmt.Println(m.Bounds())
  fmt.Println(m.At(0, 0).RGBA())
}

Вывод:

(0,0)-(100,100)
0 0 0 0


Читайте также:


Комментариев нет:

Отправить комментарий