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

Erstellen Sie Ihre Lithophanie in PNG über C#

Erstellen Sie Ihre eigenen .NET-Apps, um Ihre Lithophanie-zu-PNG-Dateien mit serverseitigen APIs zu erstellen.

So erstellen Sie Ihre Lithophanie-zu-PNG-Datei mit C#

Um Ihre Lithophanie-zu-PNG-Datei zu erstellen, verwenden wir

Aspose.3D for .NET

API, eine funktionsreiche, leistungsstarke und benutzerfreundliche API für C#-Plattform, mit der Sie Ihre Lithophanie erstellen können. Offen

NuGet

Paketmanager, suche nach Aspose.3D und installieren. Sie können auch den folgenden Befehl in der Paket-Manager-Konsole verwenden.

Paket-Manager-Konsolenbefehl


PM> Install-Package Aspose.3D

Schritte zum Erstellen Ihrer Lithophanie in PNG über C#

Aspose.3D macht es den Entwicklern leicht, mit nur wenigen Codezeilen Ihre Lithophanie für die PNG-Datei zu erstellen.

  • Erstellen Sie einige neue Parameter und erstellen Sie ein Mesh-Objekt- Führen Sie Rechenoperationen an Mesh-Objekten durch- Die PNG-Datei lädt die 3D-Szene über die Mesh-Klasse- Rufen Sie die Scene.Save-Methode mit Objekt auf

System Anforderungen

Aspose.3D for .NET wird auf allen wichtigen Betriebssystemen unterstützt. Stellen Sie einfach sicher, dass Sie die folgenden Voraussetzungen erfüllen.

  • Microsoft Windows oder ein kompatibles Betriebssystem mit .NET Framework, .NET Core, Mono- Entwicklungsumgebung wie Microsoft Visual Studio- Aspose.3D for .NET in Ihrem Projekt referenziert
 

C#-Code zum Erstellen Ihrer Lithophanie in PNG


//Das Originalbild, das hochgeladen werden muss, und die 3D-Dateiausgabe nach dem Speichern
    string file = "template.png";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";

//Erstellen Sie einige neue Parameter
    var td= TextureData.FromFile(file);
    const float nozzleSize = 0.9f;//0,2mm
    const float layerHeight = 0.2f;
    var grayscale = ToGrayscale(td);
    const float width = 120.0f;//Die Leinwandbreite beträgt 200,0 mm
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//10mm Dicke
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);

//Führen Sie Rechenoperationen an Mesh-Objekten durch
    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++;
        }
    }

//Generieren Sie eine 3D-Szene und speichern Sie Objekte
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);

//Die aufzurufende Beispielmethode
    static float Sample(float[,] data, int w, int h, float x, float y)
    {
        return data[(int)(x * w), (int)(y * h)];
    }

//ToGrayscale-Methode zum Aufrufen
    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;
    }
 
  • Über Aspose.3D for .NET API

    Aspose.3D ist eine CAD und Gameware API zum Laden, Modifizieren und Konvertieren von 3D Dateien. API ist eigenständig und erfordert keine 3D-Modellierungs- oder Rendering-Software. Man kann API einfach für Discreet3DS, WavefrontOBJ, STL (ASCII, binär), Universal3D, FBX (ASCII, binär), Collada, glTF, PLY, GLB, DirectX und weitere Formate.

    Kostenlose App zum Erstellen Ihrer Lithophanie in PNG

    Sehen Sie sich unsere Live-Demos an Lithophanie PNG mit folgenden Vorteilen.

      Sie müssen nichts herunterladen oder einrichten
      Es ist nicht erforderlich, Code zu schreiben oder zu kompilieren
      Laden Sie einfach die PNG-Datei hoch und klicken Sie auf die Schaltfläche "Lithophanie".
      Laden Sie die PNG-Datei bei Bedarf über den Link herunter

    Andere unterstützte App zum Erstellen Ihrer Lithophane-Formate

    Mit C# kann One Ihre Lithophanie auch in vielen anderen Dateiformaten erstellen, einschließlich.

    JPEG (Gemeinsame fotografische Expertengruppe)
    JPG (Gemeinsame fotografische Expertengruppe)
    TGA (Truevision Advanced Raster Adapter)
    BMP (Bitmap)
    GIF (Grafisches Austauschformat)
    TIFF (Markiertes Bilddateiformat)