HTML JPEG PDF XML JPEG
Aspose.3D  for .NET
JPEG

Crea la tua litofania in JPEG tramite C#

Crea le tue .NET app per creare file litofane in JPEG utilizzando le API lato server.

Come creare il tuo file Litophane in JPEG utilizzando C#

Per creare il tuo file litofane in JPEG, useremo

Aspose.3D for .NET

API che è una piattaforma API per C# ricca di funzionalità, potente e facile da usare da utilizzare per creare la tua litofania. Aprire

NuGet

gestore pacchetti, cerca Aspose.3D e installa. È inoltre possibile utilizzare il seguente comando dalla Console di gestione pacchetti.

Comando della console di gestione dei pacchetti


PM> Install-Package Aspose.3D

Passaggi per creare la tua litofania in JPEG tramite C#

Aspose.3D consente agli sviluppatori di creare facilmente la litofania nel file JPEG con poche righe di codice.

  • Crea alcuni nuovi parametri e crea un oggetto Mesh- Eseguire operazioni di calcolo su oggetti Mesh- Il file JPEG carica la scena 3d tramite la classe Mesh- Chiama il metodo Scene.Save con l’oggetto

Requisiti di sistema

Aspose.3D for .NET è supportato su tutti i principali sistemi operativi. Assicurati solo di avere i seguenti prerequisiti.

  • Microsoft Windows o un sistema operativo compatibile con .NET Framework, .NET Core, Mono- Ambiente di sviluppo come Microsoft Visual Studio- Aspose.3D for .NET referenziato nel tuo progetto
 

C# codice per creare la tua litofania in JPEG


//L'immagine originale che deve essere caricata e l'output del file 3d dopo il salvataggio
    string file = "template.jpeg";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";

//Crea nuovi parametri
    var td= TextureData.FromFile(file);
    const float nozzleSize = 0.9f;//0,2 mm
    const float layerHeight = 0.2f;
    var grayscale = ToGrayscale(td);
    const float width = 120.0f;//la larghezza della tela è 200,0 mm
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//Spessore 10 mm
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);

//Eseguire operazioni di calcolo su oggetti Mesh
    var mesh = new Mesh();
    for (int y = 0; y < heightSegs; y++)
    {
        float dy = (float)y / heightSegs;
        for (int x = 0; x < widthSegs; x++)
        {
            float dx = (float)x / widthSegs;
            float gray = Sample(grayscale, td.Width, td.Height, dx, dy);
            float v = (1 - gray) * thickness;
            mesh.ControlPoints.Add(new Vector4(dx * width, dy * height, v));
        }
    }


    for (int y = 0; y < heightSegs - 1; y++)
    {
        int row = (y * heightSegs);
        int ptr = row;
        for (int x = 0; x < widthSegs - 1; x++)
        {
            mesh.CreatePolygon(ptr, ptr + widthSegs, ptr + 1);
            mesh.CreatePolygon(ptr + 1, ptr + widthSegs, ptr + widthSegs + 1);
            ptr++;
        }
    }

//Genera scene 3d e salva oggetti
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);

//Il metodo di esempio da chiamare
    static float Sample(float[,] data, int w, int h, float x, float y)
    {
        return data[(int)(x * w), (int)(y * h)];
    }

//Metodo ToGrayscale da chiamare
    static float[,] ToGrayscale(TextureData td)
    {
        var ret = new float[td.Width, td.Height];
        var stride = td.Stride;
        var data = td.Data;
        var bytesPerPixel = td.BytesPerPixel;
        for (int y = 0; y < td.Height; y++)
        {
            int ptr = y * stride;
            for (int x = 0; x < td.Width; x++)
            {
                var v = (data[ptr] * 0.21f + data[ptr + 1] * 0.72f + data[ptr + 2] * 0.07f) / 255.0f;
                ret[x, y] = v;
                ptr += bytesPerPixel;
            }
        }
        return ret;
    }
 
  • Circa Aspose.3D for .NET API

    Aspose.3D è un CAD e un Gameware API per caricare, modificare e convertire 3D file. API è autonomo e non richiede alcun 3D software di modellazione o rendering. Si può facilmente usare API per Discreet3DS, WavefrontOBJ, STL (ASCII, Binary), Universal3D, FBX (ASCII, Binary), Collada, glTF, PLY, GLB, DirectX e altri formati.

    App gratuita per creare la tua litofania in JPEG

    Controlla le nostre demo dal vivo su Litofania JPEG con i seguenti vantaggi.

      Non è necessario scaricare o configurare nulla
      Non c\'è bisogno di scrivere o compilare codice
      Basta caricare il file JPEG e premere il pulsante "litofane".
      Scarica il file JPEG dal link, se necessario

    Altre app supportate per creare la tua litofania in formati

    Utilizzando C#, si può anche creare la litofania in molti altri formati di file, tra cui.

    JPG (Gruppo congiunto di esperti fotografici)
    PNG (Grafica di rete portatile)
    TGA (Adattatore Raster Avanzato Truevision)
    BMP (Bitmap)
    GIF (Formato di scambio grafico)
    TIFF (Formato file immagine contrassegnato)