GoProg

 
Топ хэштегов


Архив

Медленно, но верно, использование формата изображений WebP, который был предложен компанией Google в 2010 году, набирает обороты. В настоящее время просмотр изображений в формате WebP поддерживается всеми популярными браузерами (MIME-тип image/webp). WebP использует контейнер RIFF. Он базируется на алгоритме сжатия неподвижных изображений (ключевых кадров), применяемом в видеокодеке VP8.

Для работы с данным форматом существуют открытые библиотека (libvpx) и конвертер (webpconv). Для перекодирования из WebP в PNG можно воспользоваться следующим кодом на Go:

package main

import (
  "image/png"
  "os"

  "golang.org/x/image/webp"
)

func main() {

  in, err := os.Open("in.webp") 
  if err != nil {
    panic(err)
  }
  defer in.Close()

  img, err := webp.Decode(in)
  if err != nil {
    panic(err)
  }

  out, err := os.Create("out.png")
  if err != nil {
    panic(err)
  }
  defer out.Close()

  err = png.Encode(out, img)
  if err != nil {
    panic(err)
  }
}

По аналогии можно перекодировать WebP в JPEG: для этого будет достаточно поменять в нашем примере энкодер PNG на JPEG.

#Go #golang #IT #programming #WebP #графика #программирование #форматы



Новый комментарий:






А наоборот можно?
Попробую по-другому: сконверировать png в webp как-то можно?
посмотри в сторону github.com/nickalie/go-webpbin