مستندات HotXLS

الأسلوب BuildBiffPalettePlan

يبني خطة حتمية للقراءة فقط لتمثيل ألوان RGB المباشرة وألوان المظهر المحسوبة في خانات لوحة BIFF الفعلية الـ 56

يتوفر هذا الأسلوب في IXLSWorkbook وTXLSXWorkbook معًا، ولا يغيّر مدخلات لوحة الألوان أو الأنماط أو الخلايا أو أعداد الألوان المخصصة أو سلوك الحفظ أبدًا

البنية

function BuildBiffPalettePlan: TXLSBiffPalettePlan;

خطة الخانات

يحوي Slots دائمًا 56 مدخلًا بترتيب الفهرس العام من 1 إلى 56 وبترتيب الخانات الفعلية من 8 إلى 63

الحقلالمعنى
SourceARGBاللون المطبَّع المخزَّن حاليًا في خانة اللوحة
TargetARGBاللون المقترح للخانة دون تطبيقه
DefinitionCount وReferenceCountالمستهلِكون المفهرسون الموروثون من ScanIndexedColorUsage
Kindsفئات المستهلكين المفهرسين التي تحمي الخانة
Lockedصحيح عندما يجب أن تبقى خانة المصدر دون تغيير
Changedصحيح عندما يختلف هدف المقترح عن لون المصدر

تعيينات الهدف

يجمع Targets الألوان المتساوية ويسجل عدد التعريفات، وعدد المراجع المعروضة، وفئات المستهلكين، ووزن التكرار الفعلي، والفهارس العامة والفعلية المختارة، وقيمة ARGB المعيَّنة، ومربّع خطأ OKLab، وحالة التطابق التام

تحدد المراجع المعروضة الوزن الفعلي عند وجودها؛ وإلا فإن التعريفات المخزنة تُبقي الألوان غير المُشار إليها ممثلة في الخطة

تشارك في التخطيط الألوان المباشرة وألوان المظهر المحسوبة من الخطوط والتعبئات والتدرجات والحدود والأنماط التفاضلية وأشرطة البيانات وتدرجات الألوان، بينما لا تصبح الألوان المفهرسة والتلقائية وغير الصالحة وشبه الشفافة أهدافًا

سلوك التخطيط

تُحفظ ألوان اللوحة المطابقة تمامًا القائمة في أدنى خانة مطابقة لها، وتقفل المستهلكون المفهرسون خانات مصدرهم قبل النظر في أي خانة حرة

عندما يستقر كل هدف فريد في الخانات المتاحة، تحصل الخانات الحرة على الألوان المطابقة تمامًا بترتيب ARGB حتمي

عندما يفوق عدد الألوان عدد الخانات الحرة، تختار جولة تجميع OKLab موزونة بالتكرار بعدد تكرارات ثابتة ألوان الهدف المتبقية بينما تبقى الخانات المقفلة وخانات التطابق التام المحفوظة ثابتة

تستخدم التعيينات النهائية متساوية المسافة أدنى فهرس عام للوحة

هوية الخطة والإحصاءات

يحدد SourcePaletteGeneration وSourcePaletteHash لقطة لوحة الألوان التي بُنيت منها الخطة

يلخّص LockedSlotCount وChangedSlotCount وTotalTargetWeight وExactTargetWeight وWeightedError وMaxDistanceSquared وQuantized النتيجة لغرض الفحص وقرارات السياسة

مثال

Plan := Workbook.BuildBiffPalettePlan;
if Plan.Quantized then
  LogPaletteError(Plan.WeightedError);

for I := 0 to High(Plan.Slots) do
  if Plan.Slots[I].Changed then
    PreviewPaletteChange(Plan.Slots[I]);

انظر أيضًا