我正嘗試使用Java中的PDFBox庫創建pdf。我必須使用漸變創建矩形,但我不知道如何以及什麼都找不到。任何人都可以幫助我嗎?PDFBox - 帶梯度的矩形
0
A
回答
0
找到這個例子。看看它是否適合你
COSDictionary fdict = new COSDictionary();
fdict.setInt(COSName.FUNCTION_TYPE, 2); // still not understaning that...
COSArray domain = new COSArray();
domain.add(COSInteger.get(0));
domain.add(COSInteger.get(1));
COSArray c0 = new COSArray();
c0.add(COSFloat.get("0.64176"));
c0.add(COSFloat.get("0.72588"));
c0.add(COSFloat.get("0.78078"));
COSArray c1 = new COSArray();
c1.add(COSFloat.get("0.57176"));
c1.add(COSFloat.get("0.62588"));
c1.add(COSFloat.get("0.70078"));
fdict.setItem(COSName.DOMAIN, domain);
fdict.setItem(COSName.C0, c0);
fdict.setItem(COSName.C1, c1);
fdict.setInt(COSName.N, 1);
PDFunctionType2 func = new PDFunctionType2(fdict);
PDShadingType2 axialShading = new PDShadingType2(new COSDictionary());
axialShading.setColorSpace(PDDeviceRGB.INSTANCE);
axialShading.setShadingType(PDShading.SHADING_TYPE2);
COSArray coords1 = new COSArray();
coords1.add(COSInteger.get(0));
coords1.add(COSInteger.get(0));
coords1.add(COSInteger.get(850)); // size of my page
coords1.add(COSInteger.get(600));
axialShading.setCoords(coords1); // so this sets the bounds of my gradient
axialShading.setFunction(func); // and this determines all the curves etc?
CStr.shadingFill(axialShading); // where CStr is a ContentStream for my PDDocument
+0
我已經看到它了,我可以在背景上創建漸變 - 並且此示例創建三角形,而不是矩形 –
+0
如果它創建了一個三角形,那麼這意味着您之前已經創建了一個三角形形狀。 shadingFill()將填充此時的任何剪輯區域和路徑處於活動狀態。 –
+0
我剛纔運行這段代碼,只是我改變了'coords1'中的值 - 把值設爲0,0,200,100。當我以前畫一個矩形時,在這個矩形後面有黑色矩形和三角形漸變。 'moveTo()'和'lineTo()'時相同。 –
相關問題
- 1. 梯度帶有形狀
- 2. 梯度上的一個矩形在QML
- 3. Kineticjs梯度條帶
- 4. 從梯形到右梯形的動畫變換充滿梯度
- 5. 無梯度卷積的梯形內核
- 6. 多邊形梯度
- 7. 帶梯度的SVG路徑
- 8. 將梯形映射到矩形?
- 9. CSS3 matrix3d矩形到梯形轉換
- 10. 將矩形圖像轉換成梯形
- 11. 帶文本的CSS梯形形狀
- 12. 帶有多個變量的矩陣的梯度下降
- 13. 梯形帶有CSS和箱形陰影
- 14. 自動高度矩形詳細帶
- 15. 繪圖無圓形梯度
- 16. 梯度對CSS三角形
- 17. 德爾福:問題與GDI +&梯度框架/矩形
- 18. 稀疏矩陣乘法的Theano梯度
- 19. Css3:帶邊框的右梯形
- 20. pygame的角度球(矩形)和矩形
- 21. 帶PDFBox的水印
- 22. 核心圖形角度梯度
- 23. 矩形的寬度
- 24. 如何在梯度上測量matlab中的梯度和Hessian矩陣?
- 25. 帶圓角矩形的SKScene
- 26. 帶星號的矩形Java
- 27. UIBezierPath - 帶圓角的矩形
- 28. 帶宏的矩形陣列
- 29. In flex如何創建矩陣類的梯形形狀?
- 30. JFreeChart的條形圖 - > NO梯度
請參閱源代碼下載的CreateGradientShadingPDF.java示例。它的摘錄是在答案:-)有7種不同類型的梯度,但通常類型2或3是你想要的。請享用。 –
我看過這個,但不明白。你有關於如何創建漸變的任何文檔? –
只有PDF規格。 http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf。問題是你必須知道你想創建什麼樣的梯度(可能是軸向的),以及它應該看什麼,即什麼顏色和在哪裏。 –