第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 SVGSalamander 將 SVG 轉(zhuǎn)為圖像無(wú)法正確渲染 SVG

使用 SVGSalamander 將 SVG 轉(zhuǎn)為圖像無(wú)法正確渲染 SVG

神不在的星期二 2023-10-19 21:02:04
我曾為 iText PDF 文檔進(jìn)行 SVG 圖像渲染。為此,我使用 SVGSalamander 將 SVG 轉(zhuǎn)換為圖像格式。它工作正常,但有一個(gè)奇怪的行為,即某些 SVG 圖像在某些圖像正在渲染時(shí)無(wú)法正確渲染。那些錯(cuò)誤渲染的 svg 與真實(shí)圖像不對(duì)齊。我嘗試過(guò),但我不明白為什么它只發(fā)生在某些圖像上。如果有人幫助我解決這個(gè)問(wèn)題,我真的很感激。Java代碼:private static Image createSVGImage(PdfWriter pdfWriter, String imageEntry) throws BadElementException {        Image image = null;        Graphics2D g2dgraphics =null;        PdfTemplate template = null;        try{            SVGDiagram diagram = SVGCache.getSVGUniverse().getDiagram( new java.io.File( imageEntry ).toURI() );            template = pdfWriter.getDirectContent().createTemplate( diagram.getWidth(), diagram.getHeight());            diagram.setIgnoringClipHeuristic(true);             g2dgraphics= new PdfGraphics2D(template, diagram.getWidth(), diagram.getHeight());        diagram.render(g2dgraphics);    }catch( Exception e ){        e.printStackTrace();    } finally {        if( g2dgraphics != null ){            g2dgraphics.dispose();          image = Image.getInstance(template);        }        g2dgraphics.dispose();    }    return image;}SVG xml 代碼不對(duì)齊<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">  <path d="M19,16a46,46 0,1,0 62,0l-8,8a34,34 0,1,1-46,0z" fill="#069"/>  <path d="M46,43v35a28,28 0,0,1-14-49zM54,43v35a28,28 0,0,0 14-49z" fill="#396"/>  <circle r="15" cx="50" cy="18" fill="#900"/></svg>真實(shí)圖像上面這段代碼的輸出圖像
查看完整描述

1 回答

?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

我真的不知道為什么這個(gè)庫(kù)會(huì)發(fā)生這種情況,因?yàn)闆](méi)有答案,我已將 SVGSalamendar 更改為 Batik 庫(kù),如果有人需要,這是它的工作代碼


Maven 依賴(lài)項(xiàng)


<dependency>

    <groupId>org.apache.xmlgraphics</groupId>

    <artifactId>batik-svggen</artifactId>

    <version>1.11</version>

</dependency>


<!-- https://mvnrepository.com/artifact/batik/batik-transcoder -->

<dependency>

 <groupId>org.apache.xmlgraphics</groupId>

  <artifactId>batik-transcoder</artifactId>

   <version>1.11</version>

</dependency>


<!-- https://mvnrepository.com/artifact/batik/batik-rasterizer -->

<dependency>

 <groupId>org.apache.xmlgraphics</groupId>

  <artifactId>batik-rasterizer</artifactId>

  <version>1.11</version>

</dependency>

Java 代碼反映與上面相同的結(jié)果:


private static Image createSVGImage(PdfWriter pdfWriter, String imageEntry) throws BadElementException, IOException {

        Image image = null;

        final BufferedImage[] imagePointer = new BufferedImage[1];


        PdfContentByte pdfCB = new PdfContentByte(pdfWriter);   


         try {


                TranscoderInput input = new TranscoderInput(new FileInputStream(imageEntry));


                ImageTranscoder t = new ImageTranscoder() {


                    @Override

                    public BufferedImage createImage(int w, int h) {

                        return new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);

                    }


                    @Override

                    public void writeImage(BufferedImage img, TranscoderOutput output) throws TranscoderException {

                        // TODO Auto-generated method stub

                         imagePointer[0] = img;


                    }

                };

                t.addTranscodingHint(ImageTranscoder.KEY_FORCE_TRANSPARENT_WHITE,

                        Boolean.FALSE);

                t.addTranscodingHint(ImageTranscoder.KEY_BACKGROUND_COLOR, Color.white);

                t.transcode(input, null);

            }

            catch (TranscoderException ex) {

                // Requires Java 6

                ex.printStackTrace();

                throw new IOException("Couldn't convert ");

            }


          image = Image.getInstance(pdfCB, imagePointer[0], 1);     


        return image;

    }


查看完整回答
反對(duì) 回復(fù) 2023-10-19
  • 1 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)