HTML
JPEG
PDF
XML
JPEG
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
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
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.