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

Δημιουργήστε το Lithophane σας σε JPEG μέσω C#

Δημιουργήστε τις δικές σας εφαρμογές .NET για να δημιουργήσετε τα αρχεία λιθοφάνης σε JPEG χρησιμοποιώντας API από την πλευρά του διακομιστή.

Πώς να δημιουργήσετε το αρχείο Lithophane σε JPEG χρησιμοποιώντας το C#

Για να δημιουργήσουμε το αρχείο λιθοφάνης σε JPEG, θα χρησιμοποιήσουμε

Aspose.3D for .NET

API που είναι μια πλούσια σε χαρακτηριστικά, ισχυρή και εύχρηστη πλατφόρμα API για C# που θα χρησιμοποιηθεί με τη δημιουργία λιθοφανών σας. Ανοιξε

NuGet

διαχειριστής πακέτων, αναζητήστε Aspose.3D και εγκαταστήστε. Μπορείτε επίσης να χρησιμοποιήσετε την ακόλουθη εντολή από την Κονσόλα Package Manager.

Εντολή κονσόλας διαχείρισης πακέτων


PM> Install-Package Aspose.3D

Βήματα για τη δημιουργία του Lithophane σε JPEG μέσω C#

Το Aspose.3D διευκολύνει τους προγραμματιστές να δημιουργήσουν το lithophane σας στο αρχείο JPEG με λίγες μόνο γραμμές κώδικα.

  • Δημιουργήστε μερικές νέες παραμέτρους και δημιουργήστε ένα αντικείμενο Mesh- Εκτελέστε υπολογιστικές πράξεις σε αντικείμενα Mesh- Το αρχείο JPEG φορτώνει τρισδιάστατη σκηνή μέσω της κλάσης Mesh- Καλέστε τη μέθοδο Scene.Save με αντικείμενο

Απαιτήσεις συστήματος

Το Aspose.3D for .NET υποστηρίζεται σε όλα τα κύρια λειτουργικά συστήματα. Απλώς βεβαιωθείτε ότι έχετε τις ακόλουθες προϋποθέσεις.

  • Microsoft Windows ή συμβατό λειτουργικό σύστημα με .NET Framework, .NET Core, Mono- Περιβάλλον ανάπτυξης όπως το Microsoft Visual Studio- Το Aspose.3D for .NET αναφέρεται στο έργο σας
 

Κωδικός C# για να δημιουργήσετε το Lithophane σας σε JPEG


//Η αρχική εικόνα που πρέπει να μεταφορτωθεί και η έξοδος του τρισδιάστατου αρχείου μετά την αποθήκευση
    string file = "template.jpeg";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";

//Δημιουργήστε μερικές νέες παραμέτρους
    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;//Το πλάτος του καμβά είναι 200,0 mm
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//Πάχος 10mm
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);

//Εκτελέστε υπολογιστικές πράξεις σε αντικείμενα 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++;
        }
    }

//Δημιουργήστε τρισδιάστατη σκηνή και αποθηκεύστε αντικείμενα
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);

//Η μέθοδος του δείγματος για κλήση
    static float Sample(float[,] data, int w, int h, float x, float y)
    {
        return data[(int)(x * w), (int)(y * h)];
    }

//Μέθοδος κλήσης ToGrayscale
    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 είναι ένα CAD και ένα Gameware API για τη φόρτωση, τροποποίηση και μετατροπή αρχείων 3D. Το API είναι αυτόνομο και δεν απαιτεί κανένα λογισμικό μοντελοποίησης ή απόδοσης 3D. Μπορεί κανείς εύκολα να χρησιμοποιήσει το API για Discreet3DS, WavefrontOBJ, STL (ASCII, Binary), Universal3D, FBX (ASCII, Binary), Collada, glTF, PLY, GLB, DirectX και άλλες μορφές.

    Δωρεάν εφαρμογή για να δημιουργήσετε το Lithophane σας σε JPEG

    Ελέγξτε τις ζωντανές επιδείξεις μας σε Lithophane JPEG με τα ακόλουθα οφέλη.

      Δεν χρειάζεται να κατεβάσετε ή να ρυθμίσετε τίποτα
      Δεν χρειάζεται να γράψετε ή να μεταγλωττίσετε κώδικα
      Απλώς μεταφορτώστε το αρχείο JPEG και πατήστε το κουμπί "lithophane".
      Κατεβάστε το αρχείο JPEG από τον σύνδεσμο, εάν απαιτείται

    Άλλη υποστηριζόμενη εφαρμογή για τη δημιουργία Lithophane σε Μορφές

    Χρησιμοποιώντας το C#, το One μπορεί επίσης να δημιουργήσει το lithophane σας σε πολλές άλλες μορφές αρχείων, συμπεριλαμβανομένων.

    JPG (Ένωση Επαγγελματιών Φωτογράφων)
    PNG (Φορητά γραφικά δικτύου)
    TGA (Advanced Raster Adapter Truevision)
    BMP (Bitmap)
    GIF (Μορφή γραφικής ανταλλαγής)
    ΜΙΚΡΗ ΦΙΛΟΝΙΚΙΑ (Μορφή αρχείου εικόνας με ετικέτα)