NewRGBFreeFormTriangleMesh
التظليل، الرسومات
الوصف
ينشئ شبكة مثلثات حرة مظلَّلة بـ Gouraud، وهي نوع التظليل 4 في PDF، ويسجّلها تحت الاسم ShaderName بلون DeviceRGB. تُستهلك الرؤوس في مجموعات من ثلاثة، تصف كل مجموعة مثلثًا واحدًا تتدرج ألوان زواياه عبر سطحه. ويُصدَر كل مثلث باستقلال مع علم رأس بداية، فلا تُشترط أي مشاركة حواف بين المثلثات
الصيغة
Delphi
Function TPDFlib.NewRGBFreeFormTriangleMesh(Const ShaderName: WideString;
Const Vertices: Array Of TPLMeshVertex; BitsPerCoordinate,
BitsPerComponent: Integer;
Const BoundsX0, BoundsY0, BoundsX1, BoundsY1: Double): Integer;المعاملات
| ShaderName | الاسم الذي يُسجَّل المظلّل تحته؛ مرّره إلى SetFillShader أو SetLineShader للرسم بالشبكة |
|---|---|
| Vertices | مصفوفة من سجلات TPLMeshVertex (X, Y, R, G, B) بمكوّنات لونية في النطاق من 0 إلى 1؛ يجب أن يكون الطول 3 على الأقل ومضاعفًا للعدد 3 |
| BitsPerCoordinate | بتات التكميم لإحداثيات الرؤوس، بين 1 و32 |
| BitsPerComponent | بتات التكميم لكل مكوّن لوني، بين 1 و16 |
| BoundsX0, BoundsY0, BoundsX1, BoundsY1 | مستطيل فك الترميز الذي يخرط إحداثيات الرؤوس المحزوكة إلى فضاء إحداثيات التظليل |
القيم المُعادة
| 0 | لم تُنشأ الشبكة، لعدم تحديد مستند، أو لأن ما زُوّد أقل من مثلث كامل واحد، أو لأن أحد معاملي البتات خارج النطاق |
|---|---|
| 1 | سُجِّلت الشبكة تحت الاسم ShaderName |
ملاحظات
تتبع الإحداثيات نظام الأصل أعلى اليسار الخاص بالمكتبة وتُترجم داخليًا (ISO 32000-1 §8.7.4.5.5). لتظليلات التدرّج بلا بيانات رؤوس انظر NewRGBAxialShader
مثال
SetLength(Vertices, 3);
Vertices[0].X:= 100; Vertices[0].Y:= 100;
Vertices[0].R:= 1; Vertices[0].G:= 0; Vertices[0].B:= 0;
Vertices[1].X:= 400; Vertices[1].Y:= 100;
Vertices[1].R:= 0; Vertices[1].G:= 1; Vertices[1].B:= 0;
Vertices[2].X:= 250; Vertices[2].Y:= 350;
Vertices[2].R:= 0; Vertices[2].G:= 0; Vertices[2].B:= 1;
PDF.NewRGBFreeFormTriangleMesh('tri', Vertices, 16, 8,
100, 100, 400, 350);
PDF.SetFillShader('tri');