HTML
PNG
PDF
XML
PNG
PNG
قم بإنشاء Lithophane إلى PNG عبر C#
أنشئ تطبيقاتك البالغ عددها .NET لإنشاء ملفات lithophane إلى PNG باستخدام واجهات برمجة التطبيقات من جانب الخادم.
كيفية إنشاء ملف Lithophane إلى ملف PNG باستخدام C#
من أجل إنشاء ملف lithophane إلى PNG ، سنستخدم
API وهو نظام غني بالميزات وقوي وسهل الاستخدام API لـ C# نظام أساسي لاستخدامه في إنشاء مادة الليثوفان الخاصة بك. افتح
مدير الحزم ، ابحث عن ** Aspose.3D ** وتثبيت. يمكنك أيضًا استخدام الأمر التالي من Package Manager Console.
أمر وحدة تحكم مدير الحزم
PM> Install-Package Aspose.3D
خطوات إنشاء Lithophane إلى PNG عبر C#
يسهل Aspose.3D على المطورين إنشاء مادة الليثوفاني الخاصة بك إلى ملف PNG باستخدام بضعة أسطر من التعليمات البرمجية.
- قم بإنشاء بعض المعلمات الجديدة وإنشاء كائن شبكة- إجراء عمليات حسابية على كائنات الشبكة- يقوم ملف PNG بتحميل مشهد ثلاثي الأبعاد من خلال فئة الشبكة- استدعاء طريقة Scene.Save مع الكائن
متطلبات النظام
Aspose.3D for .NET مدعوم في جميع أنظمة التشغيل الرئيسية. فقط تأكد من أن لديك المتطلبات الأساسية التالية.
- Microsoft Windows أو نظام تشغيل متوافق مع .NET Framework ، .NET Core ، Mono- بيئة التطوير مثل Microsoft Visual Studio- تمت الإشارة إلى Aspose.3D for .NET في مشروعك
C# لإنشاء رمز Lithophane إلى PNG
//الصورة الأصلية المراد رفعها وإخراج الملف ثلاثي الأبعاد بعد الحفظ
string file = "template.png";
string output =System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".fbx";
//قم بإنشاء بعض المعلمات الجديدة
var td= TextureData.FromFile(file);
const float nozzleSize = 0.9f;//0.2 مم
const float layerHeight = 0.2f;
var grayscale = ToGrayscale(td);
const float width = 120.0f;//عرض القماش 200.0 مم
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++;
}
}
//إنشاء مشهد ثلاثي الأبعاد وحفظ الكائنات
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 وألعاب API لتحميل وتعديل وتحويل ملفات 3D. API هو برنامج قائم بذاته ولا يتطلب أي 3D برامج عرض أو نماذج. يمكن للمرء بسهولة استخدام API لـ Discreet3DS ، WavefrontOBJ ، STL (ASCII ، ثنائي) ، Universal3D ، FBX (ASCII ، ثنائي) ، Collada ، glTF ، PLY ، GLB و DirectX والمزيد من التنسيقات.تطبيق مجاني لإنشاء Lithophane إلى PNG
تحقق من العروض الحية لدينا ل ليثوفان PNG مع الفوائد التالية.
لا حاجة لتنزيل أو إعداد أي شيء
لا حاجة لكتابة أو ترجمة التعليمات البرمجية
فقط قم بتحميل ملف PNG واضغط على زر "lithophane"
قم بتنزيل ملف PNG من الرابط ، إذا لزم الأمر
تطبيق مدعوم آخر لإنشاء تنسيقات Lithophane
باستخدام C# ، يمكن للمرء أيضًا إنشاء الليثوفاني الخاص بك إلى العديد من تنسيقات الملفات الأخرى بما في ذلك.