ইনস্কেপে, একই সাথে দস্তাবেজ এবং এর সামগ্রী উভয়কেই আকার দিন


25

আমি এমন কিছু করার জন্য লড়াই করে যাচ্ছিলাম যা বেশ সুন্দর মনে হবে:

ইনস্কেপে, আমি কীভাবে একই সাথে দস্তাবেজ এবং এর সামগ্রীগুলি (যেমন অঙ্কনগুলি) আকার দিতে পারি?

কিছুটা প্রসঙ্গে: আমি প্রকৃত অঙ্কনগুলি স্পষ্টতই আকার পরিবর্তন না করেই দ্য নন প্রকল্প (তারা সাধারণত 100x100px ডক্স) থেকে মোটামুটি সংখ্যক এসভিজি ডকুমেন্টকে আকার দিতে চাই।

এনবি: যদি কমান্ড লাইনের সমাধান থাকে তবে আমি এটির সাথেও কাজ করতে পারি!


আমি আপনার শেষ লক্ষ্য সম্পর্কে নিশ্চিত নই, তবে আফাইক, নথিটি অঞ্চলটি মুদ্রণ থেকে কিছুটা স্বেচ্ছাসেবী, যেখানে আপনার কাছে কেবলমাত্র নথির অঞ্চল মুদ্রণের বিকল্প রয়েছে। তবে আপনি কেবল অবজেক্টের অঞ্চলটিও মুদ্রণ করতে পারেন, যাতে এটি আপনার প্রতিবন্ধকতা পেতে পারে।
DA01

@ DA01 ভাল, আমি মনে করি আপনি বিটম্যাপে রফতানি করার সময় নথিটি বেশ কার্যকর হবে (যা আমি করছি)।
জুলিয়েন_সি

যাইহোক, এমন কোনও জিনিসকে আবার আকার দেওয়ার কোনও উপায় আছে যা কোণার টানাটি জড়িত না, তবে যেখানে আপনি স্পষ্টভাবে একটি আকার নির্দিষ্ট করবেন? আমি এই জিনিসটি পরে থাকতে পারি :)
জুলিয়েন_সি

1
তারপরেও এটি একটি স্বেচ্ছাসেবী বিকল্প। আপনি আপনার এক্সপোর্ট 'জোন' হিসাবে সহজেই একটি সমন্বিত বাক্স আঁকতে পারেন। আসলে, আমি সাধারণত এটি করতে পছন্দ করি। আকার পরিবর্তন করার জন্য, আপনি নিজের অবজেক্টগুলি নির্বাচন করতে পারেন এবং তারপরে হয় ক) উপরে অবস্থিত স্ট্যাটাস বারটি ব্যবহার করুন এবং আপনার আকারের পরিবর্তনগুলি টাইপ করুন বা খ)
ওবিজেট

@ জুলিয়েন_সি: আমি মনে করি যে এখানে মূল বক্তব্যটি হ'ল অবজেক্টগুলি সরল ভেক্টর আর্ট এবং সেগুলির কোনও আকার নেই যতক্ষণ না আপনি এগুলিকে একটি রাস্টার ডিভাইসে আউটপুট করেন (বা ফাইল)। তাদের আকার (ইঞ্চি, পিক্সেল, হাত) কার্যকরভাবে, অপ্রাসঙ্গিক।
হোরাটিও

উত্তর:


24

আপনি কোন ওএস চালাচ্ছেন তা উল্লেখ করেননি। আমি উবুন্টু ব্যবহার করছি, এবং আমি librsvg2 সফলভাবে ব্যবহার করতে সক্ষম হয়েছি।

যদি আপনার উবুন্টুতে অ্যাক্সেস থাকে তবে আপনি যা করতে পারেন তা এখানে। প্রথমে, librsvg2 ইনস্টল করুন:

sudo apt-get install librsvg2-bin

তারপরে, cdআপনার এসভিজি রয়েছে এমন ডিরেক্টরিতে (এটিতে কেবল এসভিজি রয়েছে তা নিশ্চিত করুন!) এবং নীচের মত একটি কমান্ড ব্যবহার করুন:

for old in *; do
    new="$(echo "$old" | sed -e 's/svg$/new.svg/')"
    rsvg-convert "$old" -w 160 -h 160 -f svg -o "$new"
done

এটি 200px দ্বারা 200px মাত্রা সহ এসভিজির একটি নতুন ব্যাচ তৈরি করবে এবং "আসল-ফাইল-নাম.নেউ.এসভিজি" হিসাবে সংরক্ষণ করা হবে

মাত্রা গণনা করা কিছুটা বিভ্রান্তিকর। এসভিজিকে এসভিজিতে রূপান্তর করার জন্য আপনাকে কিছুটা গণিত করা দরকার। আরএসভিজি-কনভার্টে "উচ্চতা" এবং "প্রস্থ" বিকল্পগুলি পিটি ব্যবহার না করে, পিটিএস ব্যবহার করে, সুতরাং আপনি যদি 100px চান তবে 80 ব্যবহার করুন, যদি আপনি 150px চান, এবং আরও কিছু।

আপনি আউটপুট পিএনজিগুলিতে আরএসভিজি-রূপান্তর ব্যবহার করতে পারেন। কমপক্ষে আমার অভিজ্ঞতায় ইমেজম্যাগিকের চেয়ে ফাইলটি রাস্টেরাইজ করাতে আরও ভাল। লক্ষ্য করুন যা আপনি পরিবর্তন প্রয়োজন -fথেকে png, আপনার কাছ থেকে প্যাটার্ন সংরক্ষণ আউটপুট পরিবর্তন করতে হবে 's/svg$/new.svg/'করতে 's/svg$/png/', এবং আপনি প্রস্থ ও উচ্চতা যে আপনার পিক্সেল মান হিসাবে চান লিখুন।

for old in *; do
    new="$(echo "$old" | sed -e 's/svg$/png/')"
    rsvg-convert "$old" -w 200 -h 200 -f png -o "$new"
done

যাইহোক, আমি কেবল ধরে নিচ্ছি যে আপনাকে প্রচুর পরিমাণে এসভিজিতে ব্যাচ মোডে এটি করা দরকার। যদি তা না হয় তবে আপনি এখনও এটি ব্যবহার করতে পারেন rsvg-convert: rsvg-convert noun_project_1576.svg -w 320 -h 160 -f svg -o noun_project_1576-skewed.svgএটি "noun_project_1576" নামে একটি উত্স ফাইল নেবে এবং 200px দ্বারা 400px হতে হবে এবং এটি "noun_project_1576-skew" নামকরণ করবে।
আনন্দ মাহাতো

@ জুলিয়েন_সি, কেবল অনুসরণ করছেন: আপনি কি এই পরামর্শটি ব্যবহার করে দেখেছেন এবং এর সাথে ভাগ্য নিয়েছেন?
আনন্দ মাহ্টো

টার্মিনালে কোডটি অনুলিপি করে আটকানো হয়েছে তবে ফিরে আসুন: -১ এক্সপ্রেশন # 1, চর 14: নিরবচ্ছিন্ন 's' কমান্ড -o এর জন্য অনুপস্থিত যুক্তি ... কোনও পরামর্শ
রাফি

আমি `" এ "পরিবর্তন করেছি এবং এখন আমি ফাইলটিতে সংরক্ষণ করতে ত্রুটি পাচ্ছি: ইকো এসভিজিফিল.এসভিজি | সেড-ই '/
এসভিজি 2.

দুর্দান্ত - librsvgপ্রবাহিত পাঠ্য বাগটি ঠিক করা হলে এটি আরও ভাল হবে ...
জোস

7

ইনস্কেপে এটি করার কোনও দেশীয় উপায় বর্তমানে নেই। একমাত্র উপায় হ'ল বিষয়বস্তু এবং দস্তাবেজকে আলাদাভাবে আকার দেওয়া।


2

এটি করার কয়েকটি উপায় রয়েছে - এখানে যেমন উল্লেখ করা হয়েছে - একটি উপায় যা সত্যিই ভালভাবে কাজ করতে পারে তা হ'ল একটি viewBox। আপনি কেবল এসভিজি ট্যাগের বিষয়বস্তুগুলিকে এ জাতীয় পরিবর্তন করতে পারেন:

<svg
 width="1280"
 height="800"
 viewBox="0 0 1280 800">
    <!-- More markup... --!>
</svg>

এটি কী viewBoxকরে এটি নথির জন্য একটি অভ্যন্তরীণ সমন্বয় ব্যবস্থা সংজ্ঞায়িত করে। তারপরে আপনি প্রয়োজনীয়তা widthএবং heightবৈশিষ্ট্যগুলি সংশোধন করে সহজেই দস্তাবেজটিকে স্কেল করতে পারবেন ।

নোট করুন যে কিছু ত্রুটি আছে, যদিও। একটি জিনিসের জন্য, কেবলমাত্র কয়েকটি নির্দিষ্ট প্রসঙ্গ এটি কাজ করে, বিশেষত যদি আপনি কোনওভাবে সরাসরি আপনার মার্কআপ পৃষ্ঠায় এসভিজি ডকুমেন্ট সহ অন্তর্ভুক্ত থাকেন। এটির <img>সাথে ট্যাগ ব্যবহার করা অপ্রত্যাশিত ফলাফলও পেতে পারে বা নাও পারে। কীভাবে সেরা এটি করা যায় তা নির্ধারণ করার জন্য আপনাকে নিজের কিছু গবেষণা করতে হবে।


2
এটি আমার পক্ষে কাজ করে না, এবং কেন আমি তা বুঝতে পারি না। আমি যদি প্রস্থ এবং উচ্চতা সম্পাদনা করি তবে ভিউবক্সটি যেমনটি রেখেছি: যখন ক্রোম কাঁচা এসভিজি ফাইলটি রেন্ডার করে, তখন এটি সামগ্রীটির কেবল একটি ছোট অংশ দেখায়। যখন ইনস্কেপ এটি রেন্ডার করে, এটি সম্পূর্ণ সামগ্রীটি দেখায় তবে এটি পৃষ্ঠার চেয়ে অনেক বড়, এটি ক্রোম দেখানো একই ছোট (উপরের বাম) অংশ। সুতরাং, পুরোপুরি: ভিউবক্সের স্থানাঙ্ক অনুযায়ী সামগ্রীটি স্কেল করছে না। আমার এসভিজির এটিতে বেশ কয়েকটি শিশু এসভিজি উপাদান রয়েছে, তবে এগুলি সমস্ত ভিউবক্স স্থানাঙ্কের ভিত্তিতে রূপান্তরিত হয়েছে (আমি ধরে নিই)।
সিপিবিএল

ইঙ্কস্পেস 0.92.3, ফায়ারফক্স 66 এবং Chromium 73. আমার পক্ষে কাজ
Socowi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.