HTML
JPEG
PDF
XML
JPEG
JPEG
Vytvořte svůj Lithophane do JPEG prostřednictvím C#
Sestavte si své vlastní aplikace .NET a vytvořte si soubory lithophane to JPEG pomocí rozhraní API na straně serveru.
Jak vytvořit soubor Lithophane to JPEG pomocí C#
Abychom vytvořili váš litophane to JPEG soubor, použijeme
API, což je funkčně bohatá, výkonná a snadno použitelná platforma API pro C#, kterou lze použít při vytváření litofánu. Otevřeno
správce balíčků, vyhledejte Aspose.3D a nainstalovat. Můžete také použít následující příkaz z konzoly Správce balíčků.
Příkaz konzoly Správce balíčků
PM> Install-Package Aspose.3D
Kroky k vytvoření Lithophane do JPEG prostřednictvím C#
Aspose.3D usnadňuje vývojářům vytvořit váš litophane do souboru JPEG pomocí několika řádků kódu.
- Vytvořte nějaké nové parametry a vytvořte objekt Mesh- Provádějte výpočetní operace s objekty Mesh- Soubor JPEG načte 3D scénu prostřednictvím třídy Mesh- Zavolejte metodu Scene.Save s objektem
Požadavky na systém
Aspose.3D for .NET je podporováno ve všech hlavních operačních systémech. Jen se ujistěte, že máte následující předpoklady.
- Microsoft Windows nebo kompatibilní OS s .NET Framework, .NET Core, Mono- Vývojové prostředí jako Microsoft Visual Studio- Aspose.3D for .NET odkazované ve vašem projektu
C# kód k vytvoření Lithophane do JPEG
//Původní obrázek, který je třeba nahrát, a výstup 3D souboru po uložení
string file = "template.jpeg";
string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";
//Vytvořte nějaké nové 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;//šířka plátna je 200,0 mm
float height = width / td.Width * td.Height;
float thickness = 10.0f;//tloušťka 10mm
float layers = thickness / layerHeight;
int widthSegs = (int)Math.Floor(width / nozzleSize);
int heightSegs = (int)Math.Floor(height / nozzleSize);
//Provádějte výpočetní operace s objekty 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++;
}
}
//Vytvářejte 3D scénu a ukládejte objekty
var scene = new Scene(mesh);
scene.Save(output, FileFormat.FBX7400ASCII);
//Ukázková metoda k volání
static float Sample(float[,] data, int w, int h, float x, float y)
{
return data[(int)(x * w), (int)(y * h)];
}
//Volání metody 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 je CAD a herní software API k načítání, úpravě a převodu souborů 3D. API je samostatný a nevyžaduje žádný 3D modelovací nebo vykreslovací software. Lze snadno použít API pro Discreet3DS, WavefrontOBJ, STL (ASCII, binární), Universal3D, FBX (ASCII, binární), Collada, glTF, PLY, GLB, DirectX a další formáty.Bezplatná aplikace pro vytvoření vašeho Lithophane do JPEG
Podívejte se na naše živé ukázky Lithophane JPEG s následujícími výhodami.
Není potřeba nic stahovat ani nastavovat
Není třeba psát nebo kompilovat kód
Stačí nahrát soubor JPEG a stisknout tlačítko „lithophane“.
V případě potřeby stáhněte soubor JPEG z odkazu
Další podporovaná aplikace pro vytvoření Lithophane to Formats
Pomocí C# můžete také vytvořit svůj litophane do mnoha dalších formátů souborů včetně.