Crea tu Lithophane a JPG a través de C#
Cree sus propias aplicaciones .NET para crear su litofano en archivos JPG mediante las API del lado del servidor.
Cómo crear su archivo Lithophane a JPG usando C#
Para crear su litofano a archivo JPG, usaremos
API, que es una plataforma rica en funciones, potente y fácil de usar API para C# que se utilizará para crear su litofanía. Abierto
administrador de paquetes, busque Aspose.3D e instalar También puede usar el siguiente comando desde la Consola del administrador de paquetes.
Comando de la consola del Administrador de paquetes
PM> Install-Package Aspose.3D
Pasos para crear su Lithophane a JPG a través de C#
Aspose.3D facilita a los desarrolladores la creación de su litofanía en el archivo JPG con solo unas pocas líneas de código.
- Cree algunos parámetros nuevos y cree un objeto de malla- Realizar operaciones computacionales en objetos de malla- El archivo JPG carga la escena 3d a través de la clase Mesh- Llame al método Scene.Save con objeto
 
Requisitos del sistema
Aspose.3D for .NET es compatible con todos los principales sistemas operativos. Solo asegúrese de tener los siguientes requisitos previos.
- Microsoft Windows o un sistema operativo compatible con .NET Framework, .NET Core, Mono- Entorno de desarrollo como Microsoft Visual Studio- Aspose.3D for .NET referenciado en su proyecto
 
C# código para crear tu Lithophane a JPG
//La imagen original que debe cargarse y la salida del archivo 3d después de guardar
    string file = "template.jpg";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";
//Crear algunos parámetros nuevos
    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;//el ancho del lienzo es de 200,0 mm
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//10 mm de espesor
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);
//Realizar operaciones computacionales en objetos de malla
    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 escena 3D y guarda objetos.
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);
//El método de muestra para llamar
    static float Sample(float[,] data, int w, int h, float x, float y)
    {
        return data[(int)(x * w), (int)(y * h)];
    }
//Método ToGrayscale para llamar
    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;
    }
Acerca de Aspose.3D for .NET API
Aspose.3D es un CAD y Gameware API para cargar, modificar y convertir archivos 3D. API es independiente y no requiere ningún 3D software de modelado o renderizado. Uno puede usar fácilmente API para Discreet3DS, WavefrontOBJ, STL (ASCII, binario), Universal3D, FBX (ASCII, binario), Collada, glTF, PLY, GLB, DirectX y más formatos.App Gratuita para Crear tu Litofanía a JPG
Consulte nuestras demostraciones en vivo para Litofanía JPG con los siguientes beneficios.
Otra aplicación compatible para crear su litofanía en formatos
Con C#, One también puede crear su litofanía en muchos otros formatos de archivo, incluidos.