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

Litofanınızı PNG'ye C# aracılığıyla oluşturun

Sunucu tarafı API'lerini kullanarak litofan'dan PNG'ye dosyalarınızı oluşturmak için kendi .NET uygulamalarınızı oluşturun.

C# Kullanarak Litofan\'ı PNG Dosyasına Nasıl Oluşturursunuz

Litofan to PNG dosyanızı oluşturmak için kullanacağız

Aspose.3D for .NET

Litofanınızı oluşturmak için kullanılacak C# platformu için zengin özelliklere sahip, güçlü ve kullanımı kolay bir API olan API. Açık

NuGet

paket yöneticisi, ara Aspose.3D ve yükleyin. Paket Yöneticisi Konsolundan aşağıdaki komutu da kullanabilirsiniz.

Paket Yöneticisi Konsol Komutu


PM> Install-Package Aspose.3D

C# aracılığıyla Litofan\'ınızı PNG\'ye Oluşturma Adımları

Aspose.3D, geliştiricilerin yalnızca birkaç satır kodla PNG dosyasına litofan oluşturmasını kolaylaştırır.

  • Bazı yeni parametreler oluşturun ve bir Mesh nesnesi oluşturun- Mesh nesneleri üzerinde hesaplama işlemleri gerçekleştirin- PNG dosyası Mesh sınıfı aracılığıyla 3d sahne yükler- Nesne ile Scene.Save yöntemini çağırın

sistem gereksinimleri

Aspose.3D for .NET, tüm büyük işletim sistemlerinde desteklenir. Sadece aşağıdaki ön koşullara sahip olduğunuzdan emin olun.

  • Microsoft Windows veya .NET Framework, .NET Core, Mono ile uyumlu bir işletim sistemi- Microsoft Visual Studio gibi geliştirme ortamı- Projenizde referans verilen Aspose.3D for .NET
 

Litofanınızı PNG\'ye Oluşturmak için C# kodu


//Yüklenmesi gereken orijinal görüntü ve kaydettikten sonra 3d dosya çıktısı
    string file = "template.png";
    string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";

//Bazı yeni parametreler oluşturun
    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;//tuval genişliği 200.0 mm'dir
    float height = width / td.Width * td.Height;
    float thickness = 10.0f;//10 mm kalınlık
    float layers = thickness / layerHeight;
    int widthSegs = (int)Math.Floor(width / nozzleSize);
    int heightSegs = (int)Math.Floor(height / nozzleSize);

//Mesh nesneleri üzerinde hesaplama işlemleri gerçekleştirin
    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++;
        }
    }

//3B sahne oluşturun ve nesneleri kaydedin
    var scene = new Scene(mesh);
    scene.Save(output, FileFormat.FBX7400ASCII);

//Çağrılacak örnek yöntem
    static float Sample(float[,] data, int w, int h, float x, float y)
    {
        return data[(int)(x * w), (int)(y * h)];
    }

//Çağrılacak ToGrayscale yöntemi
    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 hakkında

    Aspose.3D, 3D dosyalarını yüklemek, değiştirmek ve dönüştürmek için kullanılan bir CAD ve Oyun Yazılımıdır API. API bağımsızdır ve herhangi bir 3D modelleme veya işleme yazılımı gerektirmez. Discreet3DS, WavefrontOBJ, STL (ASCII, Binary), Universal3D, FBX (ASCII, Binary), Collada, glTF, PLY için API kolayca kullanılabilir, GLB, DirectX ve diğer biçimler.

    PNG'ye Litofan Oluşturmak için Ücretsiz Uygulama

    için canlı demolarımızı kontrol edin Litofan PNG aşağıdaki faydaları ile.

      Hiçbir şey indirmenize veya kurmanıza gerek yok
      Kod yazmaya veya derlemeye gerek yok
      Sadece PNG dosyasını yükleyin ve "litofan" düğmesine basın
      Gerekirse bağlantıdan PNG dosyasını indirin

    Litofanınızı Biçimlere Göre Oluşturmak için Desteklenen Diğer Uygulama

    C# kullanarak One, litofanınızı da dahil olmak üzere diğer birçok dosya biçiminde oluşturabilir.

    JPEG (Birleşmiş Fotoğraf Uzmanları Grubu)
    JPG (Birleşmiş Fotoğraf Uzmanları Grubu)
    TGA (Truevision Gelişmiş Raster Adaptörü)
    BMP (bit eşlem)
    GIF (Grafik Değişim Formatı)
    TIFF (Etiketli Görüntü Dosyası Formatı)