결과 파일을 로컬 파일 시스템의 임시 파일에 저장하지 않고 imagemagick https://github.com/rsms/node-imagemagick의 도움으로 svg를 png로 변환하는 nodejs를 검색하고 있습니다.node.js의 imagemagick을 사용하여 svg에서 png로 변환
불행히도, 나는 이것을 할 수 없습니다. 그리고 나는 인터넷에서 모범을 찾지 못했습니다. 누군가 예를 들어 줄 수 있습니까?
결과 파일을 로컬 파일 시스템의 임시 파일에 저장하지 않고 imagemagick https://github.com/rsms/node-imagemagick의 도움으로 svg를 png로 변환하는 nodejs를 검색하고 있습니다.node.js의 imagemagick을 사용하여 svg에서 png로 변환
불행히도, 나는 이것을 할 수 없습니다. 그리고 나는 인터넷에서 모범을 찾지 못했습니다. 누군가 예를 들어 줄 수 있습니까?
o 내가 찾고있는 것을 찾았습니다. 기본적으로, 데이터를 변환 실행의 std :: in으로 파이프하는 방법을 알아 냈습니다. 이렇게하면 로컬 파일 시스템에 액세스하지 않고도 이미지를 변환 할 수 있습니다.
var im = require('imagemagick');
var fs = require('fs');
var svg = fs.readFileSync('/somepath/svg.svg', 'utf8');
var conv = im.convert(['svg:-', 'png:-'])
conv.on('data', function(data) {
console.log('data');
console.log(data);
});
conv.on('end', function() {
console.log('end');
});
conv.stdin.write(svg);
conv.stdin.end();
또한 스트림을 사용하여 결과를 임시 파일로 저장하지 않고 어딘가에 파이프 할 수도 있습니다. 아래 BTW github repo
var fs = require('fs');
im.resize({
srcData: fs.readFileSync('kittens.jpg', 'binary'),
width: 256,
format: 'png'
}, function(err, stdout, stderr){
if (err) throw err
fs.writeFileSync('kittens-resized.png', stdout, 'binary'); // change this part
console.log('resized kittens.jpg to fit within 256x256px')
});
에서 몇 가지 예제 코드를 포획은 다음과 같습니다 동의 비율은 %
var im = require('imagemagick');
var fs = require('fs');
im.convert(['foo.svg', 'png:-'],
function(err, stdout){
if (err) throw err;
//stdout is your image
//just write it to file to test this:
fs.writeFileSync('test.png', stdout,'binary');
});
더 이상 질문 그래서 그것은 단지 명령 줄 convert
에 '원시'인수를 던졌습니다 0 , 그냥 변환의 워드 프로세서 봐.
또한 svgexport (난 저자)를 사용할 수 있습니다 :
var svgexport = require('svgexport');
svgexport.render({input: 'file.svg', output: 'file.png'}, callback);
이것은 오류를 throw합니다 : TypeError : 'null'은 ('input.height'을 평가하는) 객체가 아닙니다. – XGreen
그래도 나에게도 같은 오류가 발생했습니다. –
@ HarisurRehman github에 대한 세부 사항과 예제가있는 문제를 제출하면 해결할 수 있습니다. –
이 하나가 나를 위해 일한
여기 내 데모 코드입니다. 감사합니다 –