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

Utwórz swój Lithophane do JPEG za pomocą C#

Twórz własne .NET aplikacje, aby tworzyć pliki litofanowe do plików JPEG, korzystając z interfejsów API po stronie serwera.

Jak utworzyć plik litofanowy do pliku JPEG za pomocą C#

Aby utworzyć plik litofanowy do pliku JPEG, użyjemy

Aspose.3D for .NET

API to bogata w funkcje, wydajna i łatwa w użyciu platforma API dla C#, którą można wykorzystać do tworzenia litofanu. otwarty

NuGet

menedżer pakietów, szukaj


i zainstaluj. Możesz również użyć następującego polecenia z konsoli Menedżera pakietów.

Polecenie konsoli menedżera pakietów


PM> Install-Package Aspose.3D

Kroki tworzenia litofanu do formatu JPEG za pomocą C#

Aspose.3D ułatwia programistom tworzenie litofanu do pliku JPEG za pomocą zaledwie kilku linijek kodu.

  • Utwórz nowe parametry i utwórz obiekt Mesh- Wykonywanie operacji obliczeniowych na obiektach siatki- Plik JPEG ładuje scenę 3d przez klasę Mesh- Wywołaj metodę Scene.Save z obiektem

wymagania systemowe

Aspose.3D for .NET jest obsługiwany we wszystkich głównych systemach operacyjnych. Tylko upewnij się, że masz następujące wymagania wstępne.

  • Microsoft Windows lub zgodny system operacyjny z .NET Framework, .NET Core, Mono- Środowisko programistyczne, takie jak Microsoft Visual Studio- Aspose.3D for .NET, o którym mowa w Twoim projekcie
 

C# kod do tworzenia litofanu do formatu JPEG


//Oryginalny obraz, który należy przesłać, oraz plik wyjściowy 3d po zapisaniu
    string file = "template.jpeg";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";

//Utwórz nowe parametry
    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;//szerokość płótna wynosi 200,0 mm
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//Grubość 10mm
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);

//Wykonywanie operacji obliczeniowych na obiektach siatki
    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++;
        }
    }

//Generuj scenę 3d i zapisuj obiekty
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);

//Przykładowa metoda do wywołania
    static float Sample(float[,] data, int w, int h, float x, float y)
    {
        return data[(int)(x * w), (int)(y * h)];
    }

//Metoda ToGrayscale do wywołania
    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;
    }
 
  • Aspose.3D for .NET API

    Aspose.3D to CAD i Gameware API do ładowania, modyfikowania i konwertowania plików 3D. API jest samodzielny i nie wymaga żadnego 3D oprogramowania do modelowania ani renderowania. Można łatwo użyć API dla Discreet3DS, WavefrontOBJ, STL (ASCII, Binary), Universal3D, FBX (ASCII, Binary), Collada, glTF, PLY, GLB, DirectX i inne formaty.

    Darmowa aplikacja do tworzenia litofanu do formatu JPEG

    Sprawdź nasze prezentacje na żywo, aby Litofanowy JPEG z następującymi korzyściami.

      Nie musisz niczego pobierać ani konfigurować
      Nie ma potrzeby pisania ani kompilowania kodu
      Po prostu prześlij plik JPEG i naciśnij przycisk „litofan”
      W razie potrzeby pobierz plik JPEG z linku

    Inna obsługiwana aplikacja do tworzenia litofanu do formatów

    Używając C#, można również stworzyć swój litofan do wielu innych formatów plików, w tym.

    JPG (Wspólna Grupa Ekspertów Fotograficznych)
    PNG (Przenośna Grafika Sieciowa)
    TGA (Zaawansowany adapter rastrowy Truevision)
    BMP (Mapa bitowa)
    GIF (Graficzny format wymiany)
    SPRZECZKA (Oznaczony format pliku obrazu)