Як перетворити зображення PNG у SVG?
Як перетворити зображення PNG у SVG?
Відповіді:
Є веб-сайт, на який ви можете завантажити своє зображення і побачити результат.
Але якщо ви хочете завантажити своє svg-зображення, вам потрібно зареєструватися. (Якщо ви зареєструєтесь, ви отримаєте 2 зображення безкоштовно)
potrace
ніяк не підтримує PNG в якості вхідного файлу, але PNM .
Тому спочатку convert
від PNG до PNM:
convert file.png file.pnm # PNG to PNM
potrace file.pnm -s -o file.svg # PNM to SVG
potrace -s
=> Вихідний файл - S VGpotrace -o file.svg
=> Записати вихід у file.svg
convert 2017.png 2017.pnm
Тимчасовий файл = 2017.pnm
potrace 2017.pnm -s -o 2017.svg
ykarikos пропонує скрипт png2svg.sh, який я вдосконалив:
#!/bin/bash
File_png="${1?:Usage: $0 file.png}"
if [[ ! -s "$File_png" ]]; then
echo >&2 "The first argument ($File_png)"
echo >&2 "must be a file having a size greater than zero"
( set -x ; ls -s "$File_png" )
exit 1
fi
File="${File_png%.*}"
convert "$File_png" "$File.pnm" # PNG to PNM
potrace "$File.pnm" -s -o "$File.svg" # PNM to SVG
rm "$File.pnm" # Remove PNM
Якщо ви хочете конвертувати багато файлів, ви також можете скористатися такою однорядковою командою:
( set -x ; for f_png in *.png ; do f="${f_png%.png}" ; convert "$f_png" "$f.pnm" && potrace "$f.pnm" -s -o "$f.svg" ; done )
Дивіться також це хороше порівняння растрових та векторних перетворювачів у Вікіпедії.
potrace
чорно-білі значки. Дякуємо за ваш відгук. Але вибачте, що немає ідеї, як зберегти кольори ... Хо! У мене є ідея: Якщо ваше оригінальне зображення має кілька кольорів (скажімо, три унікальних кольори), ви можете створити три початкові зображення (по одному для кожного кольору). Потім перетворите на SVG. І нарешті, об’єднайте три вмісту SVG в один файл (SVG заснований на XML). Сподіваюсь, це може допомогти ...
convert
і potrace
доступні на багатьох платформах. Я використовую комп’ютери на базі Linux. Я тільки що вчора використав ці команди для створення SVG з відсканованого паперу. Ви можете побачити результат: cpp-frug.github.io/images/Cpp-President-2017.svg Будь ласка, поясніть більше про вашу ціль. Що ти хочеш / дивуєшся? Яка ваша потреба / побажання? Ура ;-)
Png - це стиль зображення растрового зображення, а SVG - векторний графічний дизайн, який підтримує растрові карти, тому це не так, як якщо б воно перетворювало зображення у вектори, а саме зображення, вбудоване у векторний формат. Це можна зробити за допомогою http://www.inkscape.org/ яка безкоштовна. Він буде вбудовувати його, однак у нього також є двигун, подібний до Live Trace, який намагатиметься перетворити його на шляхи, якщо хочете (використовуючи trace). Дивіться живий слід у Adobe illustrator (комерційний):
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
Ви можете поглянути на potrace .
Легко
Як ви побачите, якщо ви хочете зробити багато інших розумних речей .svg, ви можете це зробити і за допомогою Inkscape.
Нетехнічне спостереження: я особисто віддаю перевагу цьому методу над "безкоштовними" пропозиціями веб-сайтів, оскільки, окрім часто вимагаючої реєстрації, завантажуючи зображення, в усіх практичних умовах, ви надаєте зображення власнику веб-сайту.
з ілюстратором adobe:
Відкрийте Adobe Illustrator. Клацніть "Файл" і виберіть "Відкрити", щоб завантажити файл .PNG у програму. Відредагуйте зображення за потребою, перш ніж зберегти його як файл .SVG. Клацніть «Файл» та виберіть «Зберегти як». Створіть нове ім’я файлу або використовуйте існуюче ім’я. Переконайтеся, що вибраний тип файлу є SVG. Виберіть каталог і натисніть "Зберегти", щоб зберегти файл.
або
онлайн-конвертер http://image.online-convert.com/convert-to-svg
Я віддаю перевагу AI, тому що ви можете внести будь-які необхідні зміни
Щасти
На мій подив, пошуки виявляється, можуть обробляти лише чорно-білі. Це може бути добре для випадку, але деякі можуть вважати відсутність відстеження кольору проблематичним.
Особисто я мав задовільні результати з Vector Magic
Все-таки це не ідеально.
Примітка для тих, хто використовує potrace та imagemagick , перетворення PNG- зображень із прозорості в PPM, здається, не дуже добре працює. Ось приклад, який використовує -flatten
прапор, convert
щоб обробити це:
sudo apt-get install potrace imagemagick
convert -flatten input.png output.ppm
potrace -s output.ppm -o output.svg
rm output.ppm
Ще одне цікаве явище полягає в тому, що ви можете використовувати PPM (256 * 3 кольори, тобто RGB), PGM (256 кольорів, тобто масштаб сірого) або PBM (2 кольори, тобто білий або чорний) як вхідний формат. З моїх обмежених спостережень, видно, що на зображеннях, які є антиазидомними, PPM і PGM (які створюють однакові SVG , наскільки я бачу) зменшують кольорову область, і PBM розширює кольорову область (хоча і лише трохи). Імовірно, це різниця між pixel > (256 / 2)
тестом і pixel > 0
тестом. Ви можете перемикатися між трьома, змінивши розширення файлу, тобто. наступне використання PBM :
sudo apt-get install potrace imagemagick
convert -flatten input.png output.pbm
potrace -s output.pbm -o output.svg
rm output.pbm
Ви також можете спробувати http://image.online-convert.com/convert-to-svg
Я завжди використовую це для своїх потреб.
Я щойно знайшов це питання та відповіді, коли намагаюся зробити те саме! Я не хотів використовувати деякі інші згадані інструменти. (Не хочу віддавати мій електронний лист і не хочу платити). Я виявив, що Inkscape (v0.91) може зробити досить непогану роботу. Цей підручник швидко зрозуміти і легко зрозуміти.
Це так само просто, як вибір вашої растрової карти в Inkskape та Shift + Alt + B.
Залежно від того, чому ви хочете перетворити з .png в .svg, можливо, вам не доведеться переживати проблеми. Перетворення з .png (растрового) в .svg (вектор) може бути болем, якщо ви не дуже знайомі з наявними інструментами або якщо ви не графічний дизайнер з торгівлі.
Якщо хтось надсилає вам великий файл з високою роздільною здатністю (наприклад, 1024x1024), ви можете змінити його розмір майже до будь-якого розміру, який ви хочете в GIMP. Часто у вас виникнуть проблеми із зміною розміру зображення, якщо роздільна здатність (кількість пікселів на дюйм) занадто низька. Щоб виправити це в GIMP, ви можете:
File -> Open
: ваш .png файлImage -> Image Properties
: перевірити роздільну здатність та кольоровий простір. Ви хочете роздільну здатність близько 300 ppi. У більшості випадків потрібно, щоб кольоровий простір був RGB.Image -> Mode
: встановлено на RGBImage -> Scale Image
: залиште розмір у спокої, встановіть та роздільну здатність Y до 300 або більше. Шкала удару.Image -> Scale Image
: тепер роздільна здатність повинна становити 300, і тепер ви можете змінити розмір зображення до майже будь-якого потрібного вам розміру.Не так просто, як змінити розмір .svg-файлу, але, безумовно, простіше та швидше, ніж намагатися перетворити .png в .svg, якщо у вас вже є велике зображення високої роздільної здатності.
Я припускаю, що ви хочете написати програмне забезпечення для цього. Щоб зробити це наївно, ви просто знайдете лінії та встановите вектори. Щоб зробити це розумно, ви намагаєтеся накреслити фігури на кресленні (розмітка моделі). Крім того, вам слід спробувати визначити растрові регіони (регіони, які не можна моделювати за допомогою сорому чи нанесення текстур. Я б не рекомендував проходити цей маршрут, оскільки це займе зовсім небагато часу та вимагатиме трохи графіки та знання комп'ютерного зору. Однак вихід буде набагато кращим та масштабнішим, ніж ваш вихідний.
http://online-converting.com/image/convert-to-svg/ добре працював для переходу до svg
potrace
в командному рядку - змушує мене замислитися, що веб-сайт використовує внутрішньо ...
Цей інструмент працює дуже добре зараз.
Якщо ви користуєтесь якоюсь системою Linux, imagemagick ідеально підходить. Тобто
convert somefile.png somefile.svg
Це працює з купи різних форматів.
Для інших засобів масової інформації, таких як відео та використання аудіо (ffmpeg), я знаю, ви чітко вказали png до svg; Це все ще пов'язано зі ЗМІ.
ffmpeg -i somefile.mp3 somefile.ogg
Просто порада, якщо ви хочете пройти безліч файлів; цикл з використанням основних трюкових оболонок ..
for f in *.jpg; do convert $f ${f%jpg}png; done
Це видаляє jpg та додає png, який повідомляє конвертувати те, що ви хочете.