| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | package metadataimport (	"errors"	"image/jpeg"	"os"	"path/filepath"	"imuslab.com/arozos/mod/filesystem/renderer")func generateThumbnailForModel(cacheFolder string, file string, generateOnly bool) (string, error) {	if !fileExists(file) {		//The user removed this file before the thumbnail is finished		return "", errors.New("Source not exists")	}	//Generate a render of the 3d model	outputFile := cacheFolder + filepath.Base(file) + ".jpg"	r := renderer.NewRenderer(renderer.RenderOption{		Color:           "#f2f542",		BackgroundColor: "#ffffff",		Width:           480,		Height:          480,	})	img, err := r.RenderModel(file)	opt := jpeg.Options{		Quality: 90,	}	f, err := os.Create(outputFile)	if err != nil {		return "", err	}	err = jpeg.Encode(f, img, &opt)	f.Close()	if !generateOnly && fileExists(outputFile) {		//return the image as well		ctx, err := getImageAsBase64(outputFile)		return ctx, err	} else if !fileExists(outputFile) {		return "", errors.New("Image generation failed")	}	return "", nil}
 |