亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PDFBox 帶漸變的虛線圖案

PDFBox 帶漸變的虛線圖案

慕田峪9158850 2022-07-20 19:35:03
我已經可以使用帶有方法的 contentStream 添加行:setLineWidth(h) - 設置線條粗細setLineDashPattern(pattern, period) - 模式創建所需的空間和點,例如 new float[]{0.075,2}setLineCapStyle(2) - 將所有點設置為矩形moveTo(x,y) - 設置起點lineTo ( x , y ) - 設置終點stroke() - 打印線但現在對我來說需要創建一個從點中心到點邊緣的漸變誰能給我建議如何添加漸變?
查看完整描述

1 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

這是基于源代碼中的 CreateGradientShadingPDF.java 示例。這兩個圓圈的位置相同,但第二個圓圈是空的。在函數中,c0 為白色,c1 為黑色。


PDDocument document = new PDDocument();

PDPage page = new PDPage();

document.addPage(page);


// type 2 (exponential) function with attributes

COSDictionary fdict = new COSDictionary();

fdict.setInt(COSName.FUNCTION_TYPE, 2);

COSArray domain = new COSArray();

domain.add(COSInteger.get(0));

domain.add(COSInteger.get(1));

COSArray c0 = new COSArray();

c0.add(COSFloat.get("1"));

c0.add(COSFloat.get("1"));

c0.add(COSFloat.get("1"));

COSArray c1 = new COSArray();

c1.add(COSFloat.get("0"));

c1.add(COSFloat.get("0"));

c1.add(COSFloat.get("0"));

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);


// radial shading with attributes

PDShadingType3 radialShading = new PDShadingType3(new COSDictionary());

radialShading.setColorSpace(PDDeviceRGB.INSTANCE);

radialShading.setShadingType(PDShading.SHADING_TYPE3);

COSArray coords2 = new COSArray();

coords2.add(COSInteger.get(100));

coords2.add(COSInteger.get(400));

coords2.add(COSInteger.get(50)); // radius1

coords2.add(COSInteger.get(100));

coords2.add(COSInteger.get(400));

coords2.add(COSInteger.get(0)); // radius2

radialShading.setCoords(coords2);

radialShading.setFunction(func);


// invoke shading from content stream

// compress parameter is set to false so that you can see the stream in a text editor

try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))

{

    contentStream.shadingFill(radialShading);

}

有關徑向著色的更多背景信息,請參見PDF 32000 規范。


查看完整回答
反對 回復 2022-07-20
  • 1 回答
  • 0 關注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號