我正嘗試使用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. 梯度上的一個矩形在QML
- 2. 從梯形到右梯形的動畫變換充滿梯度
- 3. 多邊形梯度
- 4. 將梯形映射到矩形?
- 5. CSS3 matrix3d矩形到梯形轉換
- 6. 將矩形圖像轉換成梯形
- 7. 帶梯度的SVG路徑
- 8. 帶有多個變量的矩陣的梯度下降
- 9. 帶文本的CSS梯形形狀
- 10. 繪圖無圓形梯度
- 11. 德爾福:問題與GDI +&梯度框架/矩形
- 12. 稀疏矩陣乘法的Theano梯度
- 13. pygame的角度球(矩形)和矩形
- 14. 矩形的寬度
- 15. 核心圖形角度梯度
- 16. 帶星號的矩形Java
- 17. 帶圓角矩形的SKScene
- 18. 帶宏的矩形陣列
- 19. 如何競爭將矩形變換爲梯形所需的變換矩陣?
- 20. OpenGL中多邊形的梯度
- 21. Android的形狀 - 梯度應到右側
- 22. 帶圓形手柄的UIBezierPath矩形
- 23. 帶有弧形邊緣的Android矩形
- 24. WPF進度矩形
- 25. 如何在PDFBox中繪製填充的矩形?
- 26. 將矩形變換爲梯形以獲得透視
- 27. 雙梯形形狀
- 28. 圓形顏色梯度(色調)在firemonkey
- 29. 創建形狀與CSS梯度
- 30. 帶有梯度情節帶的高圖儀表
請參閱源代碼下載的CreateGradientShadingPDF.java示例。它的摘錄是在答案:-)有7種不同類型的梯度,但通常類型2或3是你想要的。請享用。 –
我看過這個,但不明白。你有關於如何創建漸變的任何文檔? –
只有PDF規格。 http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf。問題是你必須知道你想創建什麼樣的梯度(可能是軸向的),以及它應該看什麼,即什麼顏色和在哪裏。 –