回答
經過大量的研究,我終於創建了一個小的「我自己的漸變創作者」!它看起來像這樣:
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
我會離開這個給別人。留下你的意見,並免費向我展示一些聰明的想法,以改善此代碼:)
函數根據軸上的輸入值計算顏色(此處爲RGB色彩空間,但也可以是CMYK或其他)。類型2函數是指數插值函數,是最常用的函數。這在PDF規範的7.10.3中有解釋。試想一下,結果值在兩個邊界C0和C1之間,不需要理解數學。 –
我有一個想法,0-1之間的這些顏色值與0-255之間的RGB值成正比。這讓我更加接近。這是一個非常有用的圖書館,我喜歡它! –
是的。在PDF中,顏色在0和1之間。所以1 0 0是完美的紅色。 –
- 1. 在HTML中創建漸變背景
- 2. 如何在Firefox中使用CSS創建漸變背景<3.6?
- 3. 如何創建紋理/漸變背景
- 4. The Gimp - 創建背景漸變
- 5. 如何創建專業漸變背景
- 6. 如何爲LinearLayout創建漸變背景?
- 7. 如何創建WPF中剝離背景,使用漸變
- 8. 背景漸變
- 9. 漸變背景
- 10. 用漸變背景在css中創建三角形
- 11. 漸變背景不能在Chrome中使用-webkit漸變
- 12. 如何在iOS中的UITableViewCell中創建漸變背景?
- 13. 我們如何使用線性漸變創建設計背景?
- 14. 我可以在IE8中爲創建CSS漸變背景嗎?
- 15. 在cellForRowAtIndexPath中獲取cell.contentView高度以創建漸變背景
- 16. 你如何在CSS中創建漸變背景?
- 17. 如何在svg背景中創建漸變顏色
- 18. 如何在Vulkan中創建漸變背景?
- 19. 如何在CSS3中創建此漸變背景?
- 20. 漸變背景UIScrollView
- 21. JPanel漸變背景
- 22. NSOutlineView漸變背景
- 23. 與背景漸變
- 24. Imagemagick背景漸變
- 25. CSS3背景漸變
- 26. Itextsharp漸變背景
- 27. 漸變背景iOS
- 28. Xamarin - 漸變背景
- 29. css漸變背景
- 30. CSS3漸變背景
你想要什麼樣的漸變?軸向還是徑向?什麼邊界?什麼顏色?你有沒有嘗試從源代碼下載的CreateGradientShadingPDF.java? –
它看起來像我沒有在我的網站從網站下載的jar。我應該從外部網站下載它嗎? –
它應該在源碼下載。如果沒有,請在此處獲取https://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateGradientShadingPDF.java?view=markup&sortby=date –