如何为地图标注器执行图像抽取?

时间:2016-03-23 14:24:26

标签: go

我正在为大图像的缩放级别18-1编写地图标注器。我需要对图像进行下采样,使得缩放级别17的像素在18处是4个像素,18是原始分辨率,所有图块都是256x256。我怎么在Go中做到这一点?

1 个答案:

答案 0 :(得分:1)

看看nfnt/resize。它是一个图像调整大小的库(但谷歌会告诉你同样的):

func main() {
    // open "test.jpg"
    file, err := os.Open("test.jpg")
    if err != nil {
        log.Fatal(err)
    }

    // decode jpeg into image.Image
    img, err := jpeg.Decode(file)
    if err != nil {
        log.Fatal(err)
    }
    file.Close()

    // resize to width 1000 using Lanczos resampling
    // and preserve aspect ratio
    m := resize.Resize(1000, 0, img, resize.Lanczos3)

    out, err := os.Create("test_resized.jpg")
    if err != nil {
        log.Fatal(err)
    }
    defer out.Close()

    // write new image to file
    jpeg.Encode(out, m, nil)
}