пятница, 1 мая 2020 г.

Создать новое изображение в Golang

Используйте пакеты image, image/color и image/png для создания PNG-изображения.

width := 200
height := 100

upLeft := image.Point{0, 0}
lowRight := image.Point{width, height}

img := image.NewRGBA(image.Rectangle{upLeft, lowRight})

// Цвета определяются значениями 
// Red, Green, Blue, Alpha uint8.
cyan := color.RGBA{100, 200, 200, 0xff}

// Установить цвет для каждого пикселя.
for x := 0; x < width; x++ {
    for y := 0; y < height; y++ {
        switch {
        // верхний левый квадрант
        case x < width/2 && y < height/2: 
            img.Set(x, y, cyan)
        // нижний правый квадрант
        case x >= width/2 && y >= height/2: 
            img.Set(x, y, color.White)
        default:
            // Использовать нулевое значение.
        }
    }
}

// Кодировать как PNG.
f, _ := os.Create("image.png")
png.Encode(f, img)

Вывод:

Примечание. Верхний правый и нижний левый квадранты изображения прозрачны (значение Alpha равно 0) и будут того же цвета, что и фон.

Поддержка изображений в Go

Пакет image реализует базовую библиотеку двумерных изображений без функции раскрашивания или рисования.

Пакет image/draw предоставляет функции компоновки изображений, которые можно использовать для выполнения ряда общих задач по манипулированию изображениями.


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


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

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