Когда я запускаю тот же код в среде Linux и пытаюсь преобразовать svg в png, используя батик, позиция текста смещается.
Тот же код в OSX дает правильный png. Похоже, что в Linux положение всех текстовых элементов смещается вправо.
Linux
![Resulting image in Linux](https://i.stack.imgur.com/sUHlq.png)
OS X :
![Resulting image in OSX](https://i.stack.imgur.com/TOD0p.png)
Почему образ неправильный в Linux?
Вот код:
TranscoderInput input = new TranscoderInput(svgPath);
// define OutputStream to PNG Image and attach to TranscoderOutput
OutputStream ostream = null;
File tempOutputFile = File.createTempFile(svgPath, ".png");
tempOutputFile.deleteOnExit();
try {
ostream = new FileOutputStream(tempOutputFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
TranscoderOutput output = new TranscoderOutput(ostream);
// create a JPEG transcoder
PNGTranscoder t = new PNGTranscoder();
// set the transcoding hints
// convert and write output
t.transcode(input, output);
// flush and close the stream then exit
ostream.flush();
ostream.close();
return tempOutputFile;
SVG-файл :
<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit-->
<title>Layer 1</title>
<rect display-height="NaN" display-width="NaN" display-y="125.5" display-x="65.25" rect-id="0" id="svg_1" height="194" width="316" y="115" x="129" stroke-width="0.5" stroke="#000000" fill="none"/>
<text alignment-baseline="text-before-edge" xml:space="preserve" text-anchor="start" font-family="serif" font-size="24" id="svg_2" y="125.5" x="65.25" stroke-width="0" stroke="#000000" fill="#000000">sssssss</text>
</svg>