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

Skapa din Lithophane till JPEG via C#

Bygg dina egna .NET-appar för att skapa dina litofan till JPEG-filer med hjälp av API:er på serversidan.

Så här skapar du din Lithophane till JPEG-fil med C#

För att skapa din litofan till JPEG-fil kommer vi att använda

Aspose.3D for .NET

API som är en funktionsrik, kraftfull och lättanvänd API för C#-plattform som ska användas med att skapa din litofan. Öppen

NuGet

pakethanterare, sök efter Aspose.3D och installera. Du kan också använda följande kommando från Package Manager Console.

Pakethanterarens konsolkommando


PM> Install-Package Aspose.3D

Steg för att skapa din Lithophane till JPEG via C#

Aspose.3D gör det enkelt för utvecklarna att skapa din litofan till JPEG-filen med bara några rader kod.

  • Skapa några nya parametrar och skapa ett Mesh-objekt- Utför beräkningsoperationer på Mesh-objekt- JPEG-fil laddar 3d-scen genom Mesh-klassen- Anropa metoden Scene.Save med objekt

Systemkrav

Aspose.3D for .NET stöds på alla större operativsystem. Se bara till att du har följande förutsättningar.

  • Microsoft Windows eller ett kompatibelt operativsystem med .NET Framework, .NET Core, Mono- Utvecklingsmiljö som Microsoft Visual Studio- Aspose.3D for .NET refereras till i ditt projekt
 

C#-kod för att skapa din Lithophane till JPEG


//Originalbilden som måste laddas upp och 3D-filen utdata efter att ha sparats
    string file = "template.jpeg";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";

//Skapa några nya parametrar
    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;//Dukens bredd är 200,0 mm
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//10 mm tjocklek
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);

//Utför beräkningsoperationer på Mesh-objekt
    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++;
        }
    }

//Skapa 3D-scen och spara objekt
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);

//Exempelmetoden att anropa
    static float Sample(float[,] data, int w, int h, float x, float y)
    {
        return data[(int)(x * w), (int)(y * h)];
    }

//ToGrayscale metod att anropa
    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;
    }
 
  • Om Aspose.3D for .NET API

    Aspose.3D är ett CAD och spelprogram API för att ladda, ändra och konvertera 3D filer. API är en fristående och kräver ingen 3D-modellerings- eller renderingsprogramvara. Man kan enkelt använda API för Discreet3DS, WavefrontOBJ, STL (ASCII, binär), Universal3D, FBX (ASCII, binär), Collada, glTF, PLY, GLB, DirectX och fler format.

    Gratis app för att skapa din Lithophane till JPEG

    Kolla våra livedemos för att Litofan JPEG med följande förmåner.

      Du behöver inte ladda ner eller ställa in någonting
      Inget behov av att skriva eller kompilera kod
      Ladda bara upp JPEG-fil och tryck på "litofan"-knappen
      Ladda ner JPEG-fil från länken om det behövs

    Annan app som stöds för att skapa dina Lithophane to-format

    Med hjälp av C# kan man också skapa din litofan till många andra filformat inklusive.

    JPG (Förenade Fotografers Expert Grupp)
    PNG (Bärbar nätverksgrafik)
    TGA (Truevision Advanced Raster Adapter)
    BMP (Bitmapp)
    GIF (Grafiskt utbytesformat)
    TIFF (Taggad bildfilformat)