ম্যাক ওএস এক্সে এসভিজিটিকে পিএনজিতে রূপান্তর করার জন্য কমান্ড-লাইন অ্যাপ্লিকেশন


167

এমন কোনও কমান্ড-লাইন প্রোগ্রাম রয়েছে যে কোনও এসভিজিকে পিএনজিতে রূপান্তর করতে পারে, যা ম্যাক ওএস এক্সে চলছে?

সম্পাদনা : ডিলান বি এর ইমেজম্যাগিকের সাথে একটি ভাল উত্তর ছিল। রেফারেন্সের জন্য, ম্যাকপোর্টস ব্যবহার করে ম্যাক ওএস এক্সে এসভিজি সমর্থন সহ ইমেজম্যাগিক ইনস্টল করতে, করুন

port install imagemagick +rsvg

2
: আমি একটি উপায় যদি আপনি Google Chrome নেই ... এবং অন্য কোন জিনিষ ইনস্টল করার কোন প্রয়োজন পাওয়া superuser.com/questions/134679/...
nopole

cairosvg.org পাইথন 3 এর জন্য কাজ করে এবং মনে হয় কোনও সমস্যা নেই। pip3 install cairosvg
জয়রিজ্জো

উত্তর:


233

বা কিছু ইনস্টল না করে:

qlmanage -t -s 1000 -o . picture.svg 

এটি চিত্র.svg.png উত্পাদন করবে যা 1000 পিক্সেল প্রশস্ত।

আমি এটি কেবল ওএস এক্স 10.6.3 এ পরীক্ষা করেছি।


38
দুর্ভাগ্যক্রমে এই ক্লিপগুলি একটি স্কোয়ারে ক্লিপ করে।
মার্টিজন পিটারস

7
আহ, qlmanage -tকুইক লুক দ্বারা ব্যবহৃত থাম্বনেল দেয় (ফাইন্ডার ইত্যাদিতে)। চতুর ধারণা। দুর্ভাগ্যক্রমে, এই থাম্বনেইলগুলি বগি হতে পারে, বিশেষত যখন পাঠ্যের সাথে জড়িত থাকে।
শ্রীভাত্সআর

7
এটি 1 ম কোয়াড্রেন্টে এসভিজি ফাইল সহ চিত্র তৈরি করে। স্বয়ংক্রিয় ক্রপ হয় না। বিশেষ্য প্রকল্প থেকে ফাইলগুলিতে রূপান্তর করার চেষ্টা করা - এই কাজটি করার ইচ্ছা করুন।
অ্যালেক্স কুক

7
এই সমাধানটি অ্যাকাউন্টে স্বচ্ছতা নিতে ব্যর্থ। টুল rsvg-convert@ ahti এর উত্তর আমার জন্য সামনে কাজ।
বেনআর

3
-sবিকল্পটি আমার পক্ষে কার্যকর না হওয়ার পরে প্রস্থ এবং উচ্চতা উভয় পরামিতি রেখে দেওয়া । এখনও এটি একটি বর্গক্ষেত্র ফসল। খুবই হতাশাজনক!
এরিক ভ্যান ডের নিউট

107

আমি খুঁজে পেয়েছি যে আমার জন্য কাজের সেরা হাতিয়ার rsvg-convert

এটি মিশ্রিত অবস্থায় পাওয়া যায় brew install librsvgএবং এটি ব্যবহার করা হয়:

rsvg-convert -h 32 icon.svg > icon-32.png

(এই উদাহরণটি একটি 32px উচ্চ পিএনজি তৈরি করে The প্রস্থটি স্বয়ংক্রিয়ভাবে নির্ধারিত হয়।


এই একমাত্র তিনিই আমার পক্ষে মাভেরিক্স এবং কমন্সে
অরন আহমদিয়া

আসলে এই একজন কাজ করেছে, যখন ইমেজম্যাগিকের convertজারি করা ত্রুটিগুলি এবং একটি জটিল এসভিজি গোপন করতে ব্যর্থ হয়েছে
ব্রাইস

7
ওএস এক্স ইয়োসেমাইট +১ এর জন্য এটি এখন পর্যন্ত সেরা সমাধান আমি খুঁজে পেয়েছি!
গ্রেগ মার্টিন

এটি আমার কয়েকটি এসভিজির জন্য আশ্চর্যজনকভাবে ব্যর্থ হয়েছিল। qlmanageউত্তর তাদের সব কাজ কিন্তু একটি সাদা পটভূমিতে, না যা আমি চাই করা।
sudo

1
এর সাথে rsvg-convert, ফলস্বরূপ .png এর সঠিক মাত্রা ছিল, তবে চিত্রটি আসল রঙগুলির পরিবর্তে সমস্ত কালো থেকে বেরিয়ে এসেছে। সঙ্গে qlmanageইমেজ একটি বর্গক্ষেত্রের আকারে মুণ্ডিত করা হয়। এখনও একটি সমাধান অনুসন্ধান করা হচ্ছে :-(
এরিক ভ্যান ডের নিউট

43

ইমেজম্যাগিক একটি অত্যন্ত বহুমুখী কমান্ড-লাইন চিত্র সম্পাদক, যা সম্ভবত ফটোশপের প্রতিদ্বন্দ্বিতা করবে যদি আপনি জানেন যে কোনও জিইআই আছে। তবে যেভাবেই হোক তার দরকার। : P: P

নীচের মত কিছু একটি ইনস্টলেশন থেকে পরে .svg .png রূপান্তর করতে হবে:

$ convert picture.svg picture.png

আসল .svg মোছা হয়নি।


এটা তোলে সাজানোর একটি গ্রাফিক্যাল ইউজার ইন্টারফেস আছে, display
Ignacio Vazquez-Abram

1
আমি যখন ফিংকের সাথে ইমেজম্যাগিক ইনস্টল করেছি, আমি এসভিজিটিকে পিএনজি রূপান্তর করতে পারি না - কিছু ত্রুটি ছিল। দেখা গেল যে আমারও পাশাপাশি librsvg2-bin ইনস্টল করা দরকার।
tst

যদি librsvg2-bin ইনস্টল না করা থাকে (ওএস এক্সের মতো) এটি ব্যর্থ হবে। ওএস এক্স-এ ইনস্টল করার কোনও উপায় খুঁজে পেল না
জন শিহান

3
অস্পষ্ট চিত্র তৈরি করার কারণে আপনি যদি এসভিজিকে পুনরায় আকার দিতে চান তবে এটি ভাল কাজ করবে না।
বেহরং

3
এটি সমস্ত এসভিজি ফাইলকে সঠিকভাবে রূপান্তর করে না; কমপক্ষে qlmanage চিত্রের সমস্ত অংশ পেয়েছে।
জোহান

28

ইঙ্কস্পেস এটা দিয়ে কমান্ড-ইন্টারফেস আমার জন্য ভাল ফলাফলের উত্পাদন করে দেওয়া হল:

/Applications/Inkscape.app/Contents/Resources/bin/inkscape --export-png output.png -w 1024 -h 768 input.svg

ভাল কথা হ'ল, আপনি ঘনত্বের সাথে জড়িত না হয়ে ফলাফলের চিত্রটির সঠিক পিক্সেল আকার নির্দিষ্ট করতে পারেন।


এটি আমার জন্য কাজ করছে! -
ইনস্কেপ

এটি হ'ল একমাত্র পদ্ধতি যা আমার হাতে লিখিত এসভিজি সঠিকভাবে উপস্থাপন করেছিল
গ্রিফিন

রূপান্তর এসভিজি থেকে ভাল পিএনজি ফাইল উত্পন্ন করে না। আমি এ পর্যন্ত খুঁজে পাওয়া সবচেয়ে ভাল উপায় ইনস্কেপ ব্যবহার করা।
#_v_er

এটি আমার পক্ষে কাজ করে তবে অত্যন্ত ঝাপসা ফাইল তৈরি করে।
মার্সিন 13

3
আমার ফাইলগুলি খুঁজে পেতে সমস্যা হয়েছিল সুতরাং এটি চালানinkscape $(pwd)/logo.svg --export-png $(pwd)/logo.png
আন্ড্রেই

16

ঠিক আছে, আপনার যদি গুগল ক্রোম থাকে তবে আমি ম্যাকে এটি করার একটি সহজ উপায় খুঁজে পেয়েছি।

একটি বাক্যে, এটি svgওয়েবপৃষ্ঠায় চিত্রটি দেখতে হবে (কোনও htmlফাইলে থাকা আবশ্যক ), চিত্রটিতে ডান ক্লিক করুন এবং "চিত্রের অনুলিপি" নির্বাচন করুন এবং প্রাকদর্শন অ্যাপ্লিকেশনটিতে পেস্ট করুন।

পদক্ষেপ:

  1. svgআপনার হার্ড ড্রাইভে ফাইলটি ডাউনলোড করুন বা রাখুন , বলুনsomefile.svg
  2. এখন, একই ফোল্ডারে কেবল এইচটিএমএল ফাইল তৈরি করুন tmp.htmlযাতে এই লাইনটি রয়েছে:<img src="somefile.svg">
  3. এখন, গুগল ক্রোমে এইচটিএমএল ফাইলটি খুলুন
  4. আপনার ছবিটি দেখা উচিত। এখন চিত্রটিতে ডান ক্লিক করুন এবং "চিত্রের অনুলিপি" নির্বাচন করুন
  5. ম্যাকের পূর্বরূপ অ্যাপ্লিকেশন এ যান এবং চয়ন করুন, "File -> New from Clipboard"
  6. এখন File -> Saveফাইল এবং আপনার কাছে pngফাইল আছে। (বা অন্যান্য ফাইলের প্রকারের)।

এটি ম্যাক ওএস এক্স এল ক্যাপিটেনে বর্তমান ক্রোম (সংস্করণ 48.0) এ পরীক্ষিত।

আপডেট : গুগল ক্রোমের দ্বারা আরোপিত কিছু বিধিনিষেধের কারণে এটি কিনা তা আমি নিশ্চিত নই। আমি কেবল Chrome 58.0 ব্যবহার করে একটি এসভিজি ফাইল চেষ্টা করেছি এবং উপরের পদ্ধতি থেকে আমি একটি ছোট চিত্র পেয়েছি। আপনি যদি এই কেসটিও দেখতে পান তবে আপনি এটিও ব্যবহার করতে পারেন

<img src="somefile.svg" style="height: 82vh; margin-top: 9vh; margin-left: 9vh">

এবং স্ক্রিনশট করার জন্য আপনার স্ক্রিনে যথেষ্ট পরিমাণে একটি চিত্র থাকবে - উদাহরণস্বরূপ ম্যাক ব্যবহার করে CmdShift4বা CmdShift3। নিশ্চিত হয়ে নিন যে আপনি নিজের Chrome উইন্ডোটিকে স্ক্রিনে সর্বাধিক অনুমোদিত to


স্মার্ট সমাধান!
মনু

1
এটি আসলে আমার জন্য সেরা ফলাফলগুলি তৈরি করে যেহেতু এটি ব্রাউজারের মতো ঠিক একই রকম উপস্থাপনা করে।
জেসন হাসলাম

ফলস্বরূপ চিত্রটি আমার জন্য খুব খারাপ রেজোলিউশন ছিল
মাইকেল

বুদ্ধিমান :) তবে খুব বড় এসভিজির জন্য, ফলাফলটি চিত্রের রেজোলিউশন খুব কম, @ মিশেল উল্লিখিত হিসাবে।
ওয়ালডিরিয়াস

5

আপনি যদি একবারে অনেকগুলি করতে চান তবে আপনি এটি করতে পারেন:

mogrify -format png *.svg

ফ্লাইতেও আবার আকার পরিবর্তন করার বিকল্প রয়েছে ...


3
mogrifyইমেজম্যাগিকেরও সমান অংশ।
শ্রীভাতসার আর

দুর্দান্ত কাজ করে তবে নির্মমভাবে ধীর হয়।
মেকোহি

-1? কেউ মনে করেন এটি সহায়ক নয়? ত্রুটি কী?
DefenestrationDay

2
আমি সেই ব্যক্তিই নয় যাকে হ্রাস করা হয়েছে, তবে লক্ষণীয় বিষয় হ'ল ইমেজম্যাগিক বোকামির সাথে আকার পরিবর্তন করার পূর্বে নির্বিচার আকারের একটি রাস্টার চিত্রে এসভিজিকে রূপান্তরিত করে, ফলস্বরূপ ঝাপসা হয়ে যায়।
দায়ে

4

আপাচে বাটিক চেষ্টা করুন ।

java -jar batik-rasterizer.jar FILES

এটি ব্যাচ রূপান্তরকে সমর্থন করে এবং আরও অনেক দরকারী বিকল্প রয়েছে।


4

আমি এর জন্য নোড / এনপিএম ব্যবহার করে স্জগেক্সপোর্ট তৈরি করেছি , এটি ক্রস-প্ল্যাটফর্ম এবং এর মতো সহজ হতে পারে:

svgexport input.svg output.png

এটি এতদূর ব্যবহার করা এবং মনে রাখা সবচেয়ে সহজ ছিল। এছাড়াও, একমাত্র আমার ক্ষেত্রে সঠিক ফলাফল এসেছে।
মার্কো গ্রেইক

রেজোলিউশন আমার পক্ষে দুর্দান্ত ছিল না।
মাইকেল

3

আপনি এসভিজি রেন্ডার করতে ফ্যান্টমজ ব্যবহার করতে পারেন । সুবিধাটি হ'ল এটি এটিকে ব্রাউজারের মতো উপস্থাপন করে যেহেতু এটি মূলত একটি মাথাছাড়া ওয়েবকিট।

একবার এটি ডাউনলোড করার পরে আপনাকে উদাহরণস ফোল্ডার থেকে ফ্যান্টমজ (বাইনারি) এবং rasterizer.js ফাইলের প্রয়োজন।

phantomjs examples/rasterize.js Tiger.svg out.png

1
রেফারেন্সের জন্য, এটি দিয়ে ইনস্টল করা যেতে পারে brew cask install phantomjs। আমার ইনস্টলে, উদাহরণ ফোল্ডারটি পথে অবস্থিত /usr/local/Caskroom/phantomjs/2.1.1/phantomjs-2.1.1-macosx/examples/
ওয়াল্ডরিয়াস

2

এটি আমি ব্যবহার করেছি:

brew install imagemagick --with-librsvg

তারপরে নিম্নলিখিত কমান্ডগুলি চালান:

find . -type f -name "*.svg" -exec bash -c 'convert $0 $0.png' {} \; rename 's/svg\.png/png/' *

আশা করি এটা সাহায্য করবে.


1

আমি আমার লিনাক্সে এই আদেশটি ব্যবহার করি। এটি আপনার পক্ষেও কাজ করা উচিত।

mogrify +antialias -density 2000 -verbose -format png *.svg

আমি শিখেছি যে "-ডেনসিটি" যুক্তি ছাড়াই বিটম্যাপটি খুব পিক্সেলাইজড হবে। আপনার প্রয়োজনের সাথে মেলে-ঘনত্বের মানটি পরিবর্তন করুন।


2
এমনকি ঘনত্বের সাথেও, রূপান্তরটি কোনও ভেক্টর চিত্রের মতো তীক্ষ্ণ একটি চিত্র তৈরি করে না। পরিবর্তে অ্যাপাচি বাটিক চেষ্টা করুন।
বেহরং

1

ইমেজম্যাগিকের রূপান্তর কমান্ড, অন্য কিছু পরামিতি ব্যবহার করে, এটি আমার জন্য কী করেছে। এখানে আমার ব্যাচের ব্যাশ স্ক্রিপ্ট সমাধানটি আপনার সমস্ত কোর ব্যবহারের জন্য একাধিক প্রক্রিয়া জুড়ে কাজটিকে বিভক্ত করে! প্রয়োজন অনুসারে পরিবর্তন করুন।

batchConvertToSVG.sh (যুক্তি হিসাবে প্রক্রিয়াগুলির সংখ্যা নেয়):

end=$(( $1 - 1 ))
for i in `seq 0 $end`;
        do
            echo Spawning helper $i of $end
                ./convertToSvgHelper.sh $i $1 &
        done 

convertToSvgHelper.sh:

n=$1
for file in ./*.svg; do
   filename=${file%.svg}
   echo converting file named $filename
   test $n -eq 0 && convert -format png -resize 74 -background transparent -density 600 $file $filename.png
   n=$((n+1))
   n=$((n%$2))
done

0

পূর্বে মন্তব্য করা হিসাবে ইমেজম্যাগিক কৌশলটি করে। আমি গ্রাফিক্স ম্যাজিকের জন্য একটি পয়েন্ট যুক্ত করতে চেয়েছিলাম , ইমেজম্যাগিকের একটি পুরানো কাঁটাচামচ যা কিছু উন্নতি করেছে (এবং ফিঙ্কের মাধ্যমে ইনস্টল করার সময় অনেকটা নির্ভরশীলতা ফোলা)।


0

আপনি পিভিজিতে এসভিজি ফাইলের পুরো ফোল্ডারে ব্যাচ রূপান্তর করতে পারেন। আমি 80px প্রস্থের পিএনজি ফাইল তৈরি করতে ইনস্কেপ কমান্ড লাইন ইন্টারফেস ব্যবহার করেছি।

find ~/desktop/toconvert '*.svg' -exec /Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -w 80 -e "{}".png "{}" \;

png আসল নাম * .png দিয়ে সংরক্ষণ করা হবে


0

কিছু ইনস্টল না করে অন্য একটি পদ্ধতি। যদিও কমান্ড লাইনে নেই।

  1. সাফারিতে .svg ফাইলটি খুলুন।
  2. ইন্সপেক্টরটি খোলার জন্য Alt-আদেশ-i টিপুন।
  3. <svg>ট্যাগটিতে ডান ক্লিক করুন , "ক্যাপচার স্ক্রিনশট" নির্বাচন করুন। (দ্রষ্টব্য যে আপনি অবশ্যই চিত্রটি জুম করবেন না))

PS .Svg চিত্রটি যদি খুব ছোট হয় তবে এটি 0প্রসারিত করতে পাঠ্য সম্পাদকের মধ্যে .svg ফাইলটি খোলার চেষ্টা করুন এবং মেটা-অ্যাট্রিবিউট ব্যতীত প্রতিটি সংখ্যায় যুক্ত করুন । এটি কোনও গ্লোবাল রেজেক্স বিকল্পের মাধ্যমে করা (\d+)যেতে পারে $10, যেখানে $1পিছনে রেফারেন্সের স্থানধারক, উদাহরণস্বরূপ।


আপনি সম্ভবত উল্লেখ করা উচিত যে, এই প্রায় হিসাবে একই  太極者無極而生এর উত্তর
স্কট

-1

wkhtmltoimage (প্রকল্প wkhtmltopdf থেকে) এটি ভাল রূপান্তর করেছে:

wkhtmltoimage --zoom 2 foo.svg foo.png

ImageMagick আমার ম্যাকের সিজেকে চরিত্রটি ফাঁকা হিসাবে রেন্ডার করে।


যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে। - পর্যালোচনা থেকে
ব্ল্যাকউড

@ ব্ল্যাকউড জরিমানা, আপডেট হয়েছে।
জর্জেক্সশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.