NewRGBCoonsPatchMesh

التظليل، الرسومات

الوصف

ينشئ تظليل شبكة رُقع Coons، وهو نوع التظليل 6 في PDF، ويسجّله تحت الاسم ShaderName بلون DeviceRGB. تحمل كل رقعة اثنتي عشرة نقطة تحكّم، زوايا الرقعة الأربع زائد نقطتي تحكّم لكل حافة، بترتيب P1..P12 (الزوايا عند P1 وP4 وP7 وP10) مع لون واحد لكل زاوية. تُصدَر الرقع باستقلال دون مشاركة حواف

الصيغة

Delphi

Function TPDFlib.NewRGBCoonsPatchMesh(Const ShaderName: WideString;
  Const Patches: Array Of TPLMeshPatchCorners;
  BitsPerCoordinate, BitsPerComponent: Integer;
  Const BoundsX0, BoundsY0, BoundsX1, BoundsY1: Double): Integer;

المعاملات

ShaderNameالاسم الذي يُسجَّل المظلّل تحته؛ مرّره إلى SetFillShader أو SetLineShader للرسم بالشبكة
Patchesمصفوفة من سجلات TPLMeshPatchCorners؛ تحمل PX/PY إحداثيات نقاط التحكّم في خانات P1..P12 المواضع 0..11، وتحمل CR/CG/CB ألوان الزوايا الأربع في النطاق من 0 إلى 1
BitsPerCoordinateبتات التكميم لإحداثيات نقاط التحكّم، بين 1 و32
BitsPerComponentبتات التكميم لكل مكوّن لوني، بين 1 و16
BoundsX0, BoundsY0, BoundsX1, BoundsY1مستطيل فك الترميز الذي يخرط إحداثيات نقاط التحكّم المحزوكة إلى فضاء إحداثيات التظليل

القيم المُعادة

0لم تُنشأ الشبكة، لعدم تحديد مستند، أو لأن مصفوفة الرقع فارغة، أو لأن أحد معاملي البتات خارج النطاق
1سُجِّلت الشبكة تحت الاسم ShaderName

ملاحظات

تتبع الإحداثيات نظام الأصل أعلى اليسار الخاص بالمكتبة وتُترجم داخليًا (ISO 32000-1 §8.7.4.5.7). للرقع ذات نقاط التحكّم الداخلية انظر NewRGBTensorPatchMesh

مثال

Patch:= Default(TPLMeshPatchCorners);
Patch.PX[0]:= 100;  Patch.PY[0]:= 100;   // P1 corner
Patch.PX[3]:= 300;  Patch.PY[3]:= 100;   // P4 corner
Patch.PX[6]:= 300;  Patch.PY[6]:= 250;   // P7 corner
Patch.PX[9]:= 100;  Patch.PY[9]:= 250;   // P10 corner
Patch.CR[0]:= 1; Patch.CG[0]:= 0; Patch.CB[0]:= 0;
Patch.CR[1]:= 0; Patch.CG[1]:= 0; Patch.CB[1]:= 1;
Patch.CR[2]:= 0; Patch.CG[2]:= 1; Patch.CB[2]:= 0;
Patch.CR[3]:= 1; Patch.CG[3]:= 1; Patch.CB[3]:= 0;
SetLength(Patches, 1);
Patches[0]:= Patch;
PDF.NewRGBCoonsPatchMesh('patch', Patches, 16, 8,
  100, 100, 300, 250);
PDF.SetFillShader('patch');