Як перетворити PNG в SVG, використовуючи програмне забезпечення?


29

Мені б хотілося повністю обрізати хімічні структури SVG (див. Це питання ), створені за допомогою MarvinSketch, і я думаю, що я міг би подумати про рішення; Я використовую MarvinSketch, щоб створити великий файл PNG, потім обріжте його за допомогою GIMP , а потім перетворять PNG у SVG . Отже, я хотів би знати, чи знає хтось вільне програмне забезпечення, яке я можу встановити (мені не подобається використовувати онлайн-перетворювачі, оскільки мені завжди підозріло зловмисне програмне забезпечення) на Ubuntu для високоякісної конверсії PNG-> SVG.


1
Добре, як би виглядав код для цього? Я спробував повернути код, як ви сказали, з моїх знань (я ноб-код). Це код, який я використав`#{INKSCAPE_PATH} -z -f #{Guanidine.png} -w #{width} -j -e #{Guanidine.svg}
BH2017

1
Після цього cd ~/Documents/Chem Structures/є каталог, в якому знаходяться файли.
BH2017

1
sudo apt-get install imagemagick, тоді збережіть цей скрипт #! / bin / bash, поки [$ # -gt 0]; do picture = $ 1 png_file = echo "$picture" | sed 's/\.\w*$/.png/' / usr / bin / convert "$ picture" png: "$ png_file" зсув виконано у ~ / .local / share / nautilus / script і пам’ятайте, щоб зробити його виконуваним, тоді клацніть правою кнопкою миші та скриптами, а що коли-небудь ви зберігаєте цей сценарій під
zeitue

1
Добре, як я вже сказав, що я нобуб, тому вам доведеться пояснювати це краще, як все, що я зрозумів,sudo apt-get install imagemagick
BH2017,

2
Тим не менш, ти повинен пам’ятати, що між такою векторною графікою, як SVG, та піксельною графікою, як PNG, є принципова різниця. Після того, як ви втратите векторну інформацію, немає жодного способу її відновлення. Отже, навіть якщо ви "конвертуєте" з PNG в SVG, ви в основному нічого не робите, як вбудовувати піксельну графіку (кодовану base64) у векторний графічний файл SVG. convertКоманда ще гірше: він поміщає коло для кожного пікселя з піксельної графіки, що і призводить до дуже великих розмірах файлів. Тому я б спробував безпосередньо вирізати файл SVG.
soulsource

Відповіді:


24

Отже, ви шукаєте конвертер / тресер для растрової та векторної графіки . & обидва знаходяться в сховищі Ubuntu. Я сам спробував перед цим, який дав приємні результати з параметрами за замовчуванням. Як я пам’ятаю, обидва інструменти не підтримують стислі формати як вхідні дані, а лише растрові зображення .potraceautotracepotrace

Дивіться приклади Potrace

Potrace : утиліта для перетворення растрових зображень у векторну графіку

potrace - це утиліта для відстеження растрових зображень, що означає перетворення растрового зображення в плавне масштабоване зображення. Вхід представляє собою растрову карту (формат PBM, PGM, PPM або BMP), а вихідним типом є інкапсульований файл PostScript (EPS). Типовим способом є створення файлів EPS із відсканованих даних, таких як логотипи фірм чи університетів, рукописні замітки тощо. Отримане зображення не "тужливе", як растрова карта, але гладке. Потім його можна винести за будь-якої резолюції.

Команда:

potrace -s inputfile

AutoTrace : растрове зображення для перетворювача векторної графіки

AutoTrace - програма для перетворення растрових зображень у векторну графіку. Метою проекту AutoTrace є розробка вільно доступного додатку, схожого на CorelTrace або Adobe Streamline. У деяких аспектах це вже краще. Спочатку створений як плагін для GIMP, тепер AutoTrace є окремою програмою.

Команда:

autotrace -output-format svg inputfile

Список літератури:

  • man potrace
  • man autotrace

Оновлення


1
Я запустив autotrace -vector svg inputfile(після зміни вхідного файлу на fenfluramine.png), і він не працював, я також змінив вихідний формат на SVG не працював. Я його встановив.
BH2017

1
Я побіг potrace -s inputfile(знову potrace: /home/fusion809/Documents/Chem Structures/Fenfluramine.png: file format not recognized Possible input file formats are: pnm (pbm, pgm, ppm), bmp.
вхідний файл

1
@BrentonHorne, вам слід створити зображення PNM або BMP замість PNG. обидва інструменти не підтримують стислі формати як вхідні дані (PNG, JPEG ...), лише зображення Bitmap (PNM, BMP, ...). Якщо ви не можете експортувати інше, то PNG, тоді спробуйте перетворити їх першим у BMP.
user.dz

1
Ну тоді ти не відповів на моє запитання. MarvinSketch може експортувати в BMP, але його фон не прозорий , тому я запропонував формат PNG в першу чергу. Він не може зробити PNM.
BH2017

2
Ага, це спрацювало. Спасибі. Я думав, що BMP не прозорий, будь-який результат не буде занадто.
BH2017

19

Inkscape отримав дивовижний інструмент автоматичного відстеження.

  1. Встановіть Inkscape за допомогою sudo apt-get install inkscape
  2. Імпортуйте своє зображення
  3. Виберіть своє зображення
  4. На панелі меню виберіть Path -> Trace Bitmap Item
  5. За необхідності відрегулюйте параметри трасування

Щоб отримати докладнішу інформацію, перегляньте їх навчальний посібник .

Після того, як вам зручні варіанти пошуку. Ви можете автоматизувати це за допомогою CLI Inkscape .


5
+1, Дякую Радий дізнатись, що Inkscape має інтегровану potraceфункціональність у графічному інтерфейсі, як це зазначено у посиланні, яке ви згадуєте.
user.dz

5
Це правильна відповідь, оскільки potrace не підтримує імпорт .png, і легко перетворитись на труднощі з прозорістю тощо.
brianlmerritt

1
Також Gimp здатний відстежувати кольорові зображення, чого, здається, не вистачає.
посмішка

8

Використовуйте convertкоманду в терміналі:

Наприклад : convert EXAMPLE.png EXAMPLE.svg

Ось деяка інформація зі сторінки вручну:

convert(1) - Linux man page

Name

convert - convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

Synopsis

convert [input-options] input-file [output-options] output-file


3
Це вбудовує растрове зображення у SVG замість перетворення у векторне зображення.
bk138

1
Дуже дякую ... це саме те, що я шукав ...
Dan Ortega

2

Я просто використовував gimp зараз із дивовижними результатами. Я вперше використав potrace, але все, що у мене було, - це зображення в чорному кольорі з великою кількістю спотворень. Можливо, я не використовував його належним чином, але коли я намагався з експортуванням gimp як "eps" (file_name.eps), все було зроблено. Все, що мені потрібно зробити, - це переглянути його, встановивши роздільну здатність зі значенням 300. Це все.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.