MCPcopy
hub / github.com/egonelbre/gophers / MakeCollage

Function MakeCollage

update.go:131–171  ·  view source on GitHub ↗
(name, folder, output string)

Source from the content-addressed store, hash-verified

129}
130
131func MakeCollage(name, folder, output string) *Collage {
132 log.Printf("Creating collage\n")
133 log.Printf("> name : %v\n", name)
134 log.Printf("> folder: %v\n", folder)
135 log.Printf("> save : %v\n", output)
136
137 files, err := ioutil.ReadDir(folder)
138 if err != nil {
139 log.Printf("> ERROR: %v\n", err)
140 return nil
141 }
142
143 if len(files) == 0 {
144 log.Printf("> error: no files\n")
145 return nil
146 }
147
148 sort.Sort(FileInfos(files))
149
150 collage := NewCollage(len(files), MaxColumns, ThumbnailSize)
151 collage.Name = name
152 collage.Output = output
153 collage.Folder = folder
154 for _, file := range files {
155 path := filepath.Join(folder, file.Name())
156 log.Printf("> add: %v\n", path)
157 m, err := LoadImage(path)
158 if err != nil {
159 log.Printf("> error: %v\n", err)
160 continue
161 }
162
163 collage.Draw(path, m)
164 }
165
166 if err := SaveImage(collage.Image, output); err != nil {
167 log.Printf("> ERROR: %v\n", err)
168 }
169
170 return collage
171}
172
173type Thumbs struct {
174 Size int

Callers

nothing calls this directly

Calls 5

DrawMethod · 0.95
FileInfosTypeAlias · 0.85
NewCollageFunction · 0.85
LoadImageFunction · 0.85
SaveImageFunction · 0.85

Tested by

no test coverage detected