123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package renderer
- import (
- "errors"
- "image/jpeg"
- "os"
- "path/filepath"
- )
- // Generate thumbnail for 3D model. Output file will have the same name as the input file with .jpg extension
- func generateThumbnailForModel(inputFile string, outputFolder string) error {
- if _, err := os.Stat(inputFile); os.IsNotExist(err) {
- return errors.New("input file does not exist")
- }
- //Generate a render of the 3d model
- outputFile := filepath.Join(outputFolder, filepath.Base(inputFile)+".jpg")
- r := New3DRenderer(RenderOption{
- Color: "#f2f542",
- BackgroundColor: "#ffffff",
- Width: 480,
- Height: 480,
- })
- img, err := r.RenderModel(inputFile)
- if err != nil {
- return err
- }
- opt := jpeg.Options{
- Quality: 90,
- }
- f, err := os.Create(outputFile)
- if err != nil {
- return err
- }
- err = jpeg.Encode(f, img, &opt)
- if err != nil {
- return err
- }
- f.Close()
- return nil
- }
|