تطبيق اللون المخصص لـ POI باستخدام "رموز اللون السداسي العشري" المتوفرة

أستخدم حاليًا HSSFColor/HSSFPalette و XSSFColor لتعيين الألوان الموجودة/المخصصة. التنفيذ على النحو التالي: على سبيل المثال font.setColor (HSSFColor.WHITE.index)؛ ل HSSF أو cs.setFillForegroundColor (xssfColor)؛ لـ XSSF

أرغب في تمرير المعلمات في كلتا الحالتين المذكورتين "رموز ألوان سداسي عشري".

Like : for HSSF: font.setColor()/font.setColor(getShortIndexFromHexColorCodes()) for XSSF: cs.setFillForegroundColor();

هل هناك أي طريقة للقيام بالشيء المذكور أعلاه ، حيث يمكنني تمرير رمز اللون السداسي العشري ويتم تطبيق الألوان في HSSF و XSSF.

يرجى توجيه لي وشكرا مقدما :)

3

1 إجابة

عندما يتعلق الأمر بأمثلة برمجية ، فجرّب هنا .

الآن تفسير طفيف. في حالة font.setColor (قصير) ، تكون المعلمة عبارة عن فهرس لبقعة في اللوحة القياسية. من خلال العمل باستخدام HSSFPalette ، يمكنك الاتصال setColorAtIndex الذي يأخذ أربعة معلمات. الأول هو نقطة فهرس موجودة في مؤشر الترابط الافتراضي (بمعنى اللون الموجود الذي ستقوم باستبداله). الثلاثة الأخرى هي القيم الأحمر والأخضر والأزرق على التوالي للون الذي تريده. لذلك ، سيسمح لك استبدال موضع في اللوحة الافتراضية باستخدام عملية الإنشاء المخصصة باستخدام القيم السداسية العشرية الخاصة بك. هذه هي قضية HSSF.

حالة XSSF حقاً تافهة وهنا مثال setFillForegroundColor (جديد XSSFColor (جديد java.awt.Color (128، 0، 128)) ليس عليك تقديم نفس التضحية التي يجب أن نجعل في HSSF. قم فقط بإنشاء ذلك الكائن اللوني بالقيم السداسية المطلوبة لـ R و G و B

7
وأضاف