itext - How to add a shading pattern to a custom shape -


मैंने एक समभुज त्रिभुज खींचा है जैसा iText

  canvas.setColorStroke (BaseColor। काली); Int x = start.getX (); Int y = start.getY (); canvas.moveTo (एक्स, वाई); कैनवास.लाइनटो (एक्स + साइड, वाई); कैनवास.लाइनटो (एक्स + (पक्ष / 2), (फ्लोट) (y + (साइड * मथ सिन (कनवर्टटोअडियन (60)))); canvas.closePathStroke ();  

मैं इस आकार में बहु रंग की ढाल चाहता हूँ, अर्थात इसे BaseColor.PINK और BaseColor.BLUE के साथ छायांकन के साथ भरें। मैं इसे iText के साथ करने का कोई रास्ता नहीं खोज सकता?

मैंने एक उदाहरण बनाया है जो उस त्रिकोण को भरता है जिसे आप छायांकन पैटर्न का उपयोग करके चित्रित कर रहे हैं जो कि गुलाबी से नीले रंग में दिखाया गया है:

यहां छवि विवरण दर्ज करें

  PdfContentByte canvas = writer.getDirectContent (); फ्लोट एक्स = 36; फ्लोट वाई = 740; फ्लोट साइड = 70; पीडीएफ शेडिंग अक्षीय = पीडीएफशैडिंग सिंपलएक्सियल (लेखक, एक्स, वाई, एक्स + साइड, वाई, बेस कोलोलर.पीआईएनके, बेस कॉलर। ब्लू); पीडीएफशेडिंगपेटर्न शेडिंग = नया पीडीएफशैडिंग पाटन (अक्षीय); canvas.setShadingFill (छायांकन); canvas.moveTo (एक्स, वाई); कैनवास.लाइनटो (एक्स + साइड, वाई); कैनवास.लाइनटो (एक्स + (पक्ष / 2), (फ्लोट) (y + (साइड * मैथ। (मठ। पीआई / 3)))); canvas.closePathFillStroke ();  

जैसा कि आप देख सकते हैं, आपको एक PdfShading ऑब्जेक्ट बनाने की आवश्यकता है मैंने एक अक्षीय छायांकन बनाया है जो समन्वय (x, y) से समन्वय (x + side, y) के लिए गुलाबी से नीले रंग में बदलता है। इस अक्षीय छायांकन के साथ, आप PdfShadingPattern बना सकते हैं जो कैनवास के लिए भरण रंग सेट करने के लिए setShadingFill () विधि के एक पैरामीटर के रूप में इस्तेमाल किया जा सकता है। कोड>।

पूर्ण स्रोत कोड के लिए देखें।


Comments