package main import ( "bytes" "flag" "io" "log" "net/http" "os" "path/filepath" "github.com/disintegration/imaging" ) func main() { targetFile := flag.String("o", "out.jpg", "target file") flag.Parse() var bfr bytes.Buffer if err := fetchHeaderImage(&bfr, "https://lmika.org/uploads/2025/pxl-20251120-083552448.jpg"); err != nil { log.Fatal(err) } img, err := imaging.Decode(&bfr, imaging.AutoOrientation(true)) if err != nil { log.Fatal(err) } rImg := imaging.Resize(img, 1280, 0, imaging.Lanczos) if err := os.MkdirAll(filepath.Dir(*targetFile), 0755); err != nil { log.Fatal(err) } if err := imaging.Save(rImg, *targetFile, imaging.JPEGQuality(70)); err != nil { log.Fatal(err) } } func fetchHeaderImage(w io.Writer, url string) error { r, err := http.Get(url) if err != nil { return err } defer r.Body.Close() _, err = io.Copy(w, r.Body) return err }