HTML
JPEG
PDF
XML
JPEG
JPEG
สร้าง Lithophane เป็น JPEG ผ่าน C#
สร้างแอป .NET ของคุณเองเพื่อสร้างไฟล์ lithophane เป็น JPEG โดยใช้ API ฝั่งเซิร์ฟเวอร์
วิธีสร้างไฟล์ Lithophane เป็น JPEG โดยใช้ C#
ในการสร้างไฟล์ lithophane เป็น JPEG เราจะใช้
API ซึ่งมีคุณลักษณะหลากหลาย มีประสิทธิภาพ และใช้งานง่าย API สำหรับแพลตฟอร์ม C# ที่จะใช้กับการสร้าง lithophane ของคุณ เปิด
package manager ค้นหา Aspose.3D และติดตั้ง คุณยังสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console
คำสั่งคอนโซลตัวจัดการแพ็คเกจ
PM> Install-Package Aspose.3D
ขั้นตอนในการสร้าง Lithophane เป็น JPEG ผ่าน C#
Aspose.3D ทำให้นักพัฒนาสามารถสร้าง lithophane ของคุณไปยังไฟล์ JPEG ได้อย่างง่ายดายด้วยโค้ดเพียงไม่กี่บรรทัด
- สร้างพารามิเตอร์ใหม่และสร้างวัตถุตาข่าย- ดำเนินการคำนวณบนวัตถุตาข่าย- ไฟล์ JPEG โหลดฉาก 3 มิติผ่านคลาส Mesh- เรียกเมธอด Scene.Save ด้วย object
ความต้องการของระบบ
Aspose.3D for .NET ได้รับการสนับสนุนในระบบปฏิบัติการหลักทั้งหมด เพียงตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นดังต่อไปนี้
- Microsoft Windows หรือระบบปฏิบัติการที่เข้ากันได้กับ .NET Framework, .NET Core, Mono- สภาพแวดล้อมการพัฒนาเช่น Microsoft Visual Studio- Aspose.3D for .NET อ้างอิงในโครงการของคุณ
รหัส C# เพื่อสร้าง Lithophane ของคุณเป็น JPEG
//รูปภาพต้นฉบับที่ต้องอัปโหลดและไฟล์ 3d จะส่งออกหลังจากบันทึก
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.2mm
const float layerHeight = 0.2f;
var grayscale = ToGrayscale(td);
const float width = 120.0f;//ความกว้างของผ้าใบคือ 200.0mm
float height = width / td.Width * td.Height;
float thickness = 10.0f;//ความหนา 10 มม.
float layers = thickness / layerHeight;
int widthSegs = (int)Math.Floor(width / nozzleSize);
int heightSegs = (int)Math.Floor(height / nozzleSize);
//ดำเนินการคำนวณบนวัตถุตาข่าย
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++;
}
}
//สร้างฉาก 3 มิติและบันทึกวัตถุ
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# เราสามารถสร้าง lithophane ของคุณให้เป็นรูปแบบไฟล์อื่นๆ ได้มากมาย รวมถึง