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

Crie seu litofane para JPEG via C#

Crie seus próprios aplicativos .NET para criar seu litofane para arquivos JPEG usando APIs do lado do servidor.

Como criar seu litofane para arquivo JPEG usando C#

Para criar seu arquivo litofane para JPEG, usaremos

Aspose.3D for .NET

API que é uma plataforma rica em recursos, poderosa e fácil de usar API para C# a ser usada para criar seu litofane. Aberto

NuGetName

gerenciador de pacotes, procure Aspose.3D e instalar. Você também pode usar o seguinte comando do Console do Gerenciador de Pacotes.

Comando do console do gerenciador de pacotes


PM> Install-Package Aspose.3D

Etapas para criar seu litofane para JPEG via C#

Aspose.3D facilita para os desenvolvedores criar seu litofane para o arquivo JPEG com apenas algumas linhas de código.

  • Crie alguns novos parâmetros e crie um objeto Mesh- Execute operações computacionais em objetos Mesh- O arquivo JPEG carrega a cena 3d através da classe Mesh- Chame o método Scene.Save com o objeto

Requisitos de sistema

Aspose.3D for .NET é compatível com todos os principais sistemas operacionais. Apenas certifique-se de ter os seguintes pré-requisitos.

  • Microsoft Windows ou um sistema operacional compatível com .NET Framework, .NET Core, Mono- Ambiente de desenvolvimento como o Microsoft Visual Studio- Aspose.3D for .NET referenciado em seu projeto
 

C# código para criar seu litofane para JPEG


//A imagem original que precisa ser carregada e a saída do arquivo 3D após salvar
    string file = "template.jpeg";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";

//Crie alguns novos parâmetros
    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;//largura da tela é 200.0mm
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//10 mm de espessura
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);

//Execute operações computacionais em objetos 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++;
        }
    }

//Gere cena 3d e salve objetos
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);

//O método de amostra a ser chamado
    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 chamar
    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;
    }
 
  • Sobre Aspose.3D for .NET API

    Aspose.3D é um CAD e Gameware API para carregar, modificar e converter arquivos 3D. API é independente e não requer nenhum software de modelagem ou renderização de 3D. Pode-se facilmente usar API para Discreet3DS, WavefrontOBJ, STL (ASCII, Binário), Universal3D, FBX (ASCII, Binário), Collada, glTF, PLY, GLB, DirectX e mais formatos.

    Aplicativo gratuito para criar seu litofane para JPEG

    Confira nossas demonstrações ao vivo para JPEG litofane com os seguintes benefícios.

      Não há necessidade de baixar ou configurar nada
      Não há necessidade de escrever ou compilar código
      Basta fazer o upload do arquivo JPEG e clicar no botão "lithophane"
      Baixe o arquivo JPEG do link, se necessário

    Outro aplicativo suportado para criar seu litofane para formatos

    Usando C#, também é possível criar seu litofane para muitos outros formatos de arquivo, incluindo.

    JPG (Grupo Conjunto de Especialistas em Fotografia)
    PNG (Gráficos Portáteis de Rede)
    TGA (Adaptador Raster Avançado Truevision)
    BMP (Bitmap)
    GIF (Formato de intercâmbio gráfico)
    TIFF (Formato de arquivo de imagem marcado)