package main import ( "bytes" "flag" "io" "log" "net/http" "os" "path/filepath" "github.com/disintegration/imaging" ) func main() { targetDir := flag.String("d", ".", "target directory") 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) fullPath := filepath.Join(*targetDir, "header.jpg") if err := os.MkdirAll(filepath.Dir(fullPath), 0755); err != nil { log.Fatal(err) } if err := imaging.Save(rImg, fullPath, 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 }