চিত্রক ব্যবহার করে এসভিজি পাথগুলিতে সিএসএস শ্রেণীর নাম উল্লেখ করুন


21

ইলাস্ট্রেটারে এসভিজি ফাইলগুলি সম্পাদনা করার কোনও উপায় আছে যেখানে আপনি প্রতিটি পাথের জন্য একটি সিএসএস শ্রেণি নির্দিষ্ট করতে পারেন?

আমি ইলাস্ট্রেটারে ইতিমধ্যে জানি যে আপনি যদি স্তরটির নামটি প্রকৃত নাম দেন তবে ইলাস্ট্রেটর সেই নামটিকে পাথের আইডি হিসাবে ব্যবহার করবে, যা ঠিক আছে যদি আপনি একই পৃষ্ঠায় একবারে আইকনটিকে পুনরায় ব্যবহার করার পরিকল্পনা না করেন।

আমার বর্তমান কাজটি কেবলমাত্র আইডি পদ্ধতিটি ব্যবহার করা, তবে তারপরে আইডিগুলি আমার কোড সম্পাদকের ক্লাসে রূপান্তরিত করুন তবে প্রতিবার আমার এসভিজি স্প্রিট উত্পন্ন করার সময় এটি করা খুব বিরক্তিকর।

যদি বর্তমানে ইলাস্ট্রেটারে এটি সম্ভব না হয়, তবে এমন কোনও অ্যাপ্লিকেশন রয়েছে যা আপনাকে এটি নির্দিষ্ট করার অনুমতি দেবে? অথবা গ্রান্ট বা গুলপ প্যাকেজ হতে পারে?

দেখে মনে হচ্ছে আপনি কোনও হ্যাক দিয়ে ইনস্কেপ দিয়ে এটি করতে সক্ষম হবেন , তাই আমি যদি অন্য কোনও ভাল সমাধান না পাই তবে আমি এটির দিকে নজর দিতে পারি।


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

আমি অ্যাডোব ইলাস্ট্রেটর সিসি সংস্করণ 17.1.0 ব্যবহার করছি
NerdCowboy

উত্তর:


5

আমি গ্রুর্ট টাস্ক দিয়ে এটি করি। "গ্রান্ট-টেক্সট-রিপ্লেসমেন্ট" ব্যবহার করে আমি আমার মাইনযুক্ত এসভিজি (এসভিজিমন) একটি কাস্টম নিয়মিত এক্সপ্রেশনের মাধ্যমে পাস করতে সক্ষম হয়েছি যা সমস্ত গার্ল্ড শ্রেণির রেফারেন্সগুলিকে যথাযথ শ্রেণীর সাথে প্রতিস্থাপন করে।

উদাহরণস্বরূপ, উদাহরণ হিসাবে শ্রেণি = "গাছ" হিসাবে স্তর / অবজেক্টের নাম ঘোষণা করুন । এটি চিত্রক দ্বারা id = "শ্রেণি =" গাছ "" হিসাবে রফতানি করবে । নীচের গ্রান্ট টাস্ক এটির যত্ন নেবে এবং এটিকে শ্রেণি = "ট্রি" করবে । আমি আরও কয়েকটি সাবটাস্কের নীচে আটকানো যা একটি আইডি ক্লিনআপ করবে (প্রস্তাবিত)।

    replace: {
        // ID cleanup: performs a manual ID cleanup as Illustrator exports a mess
        illustrator: {
            src: ['assets/svg/optimised/*.svg'],
            overwrite: true,
            replacements: [{
                // Remove escaped underscore character
                from: '_x5F_',
                to: '_'
            }, {
                // Replace class names with proper classes
                //class_x3D__x22_tank-option_x22__2_
                from: /id\=\"class_x3D__x22_(.+?)_x22_(.*?)\"/gi,
                to: function(matchedWord, index, fullText, regexMatches) {
                    return 'class="'+ regexMatches[0].toLowerCase()+'"';
                }
            }, {
                // Lowercase all ids
                from: /id\=\"(.+?)\"/gi,
                to: function(matchedWord, index, fullText, regexMatches) {
                    return 'id="'+ regexMatches[0].toLowerCase()+'"';
                }
            }, {
                // Lowercase all id references to match the previous replace rule
                from: /url\(\#(.+?)\)/gi,
                to: function(matchedWord, index, fullText, regexMatches) {
                    return 'url(#'+ regexMatches[0].toLowerCase() +')';
                }
            }, {
                // Lowercase all id href to match the previous replace rule
                from: /href\=\"\#(.+?)\"/gi,
                to: function(matchedWord, index, fullText, regexMatches) {
                    return 'href="#'+ regexMatches[0].toLowerCase() +'"';
                }
            }, {
                // Remove all font references as we will use CSS for this
                from: /font\-family\=\"(.+?)\"/gi,
                to: function(matchedWord, index, fullText, regexMatches) {
                    return '';
                }
            }]
        }
    }

তারপরে আপনি আপনার গ্রান্টফাইলে এই কাজটিকে কল করতে পারেন:

grunt.registerTask('svgclean', [
    'replace:illustrator'
]);

7

ইয়ান ডান পোস্ট করা লিঙ্কটি আপনার টিকিট হতে পারে বলে মনে হচ্ছে । এই পৃষ্ঠাটির একটি অংশ এখানে দেওয়া হয়েছে :

এসভিজি রফতানি বিকল্পগুলিতে আমি স্টাইল উপাদানগুলি নির্বাচন করি এবং আমি অন্তর্ভুক্ত অব্যবহৃত গ্রাফিক স্টাইল বিকল্পটি নির্বাচন করি। এটি এসভিজি ডকুমেন্টে স্যান্ডস্টাইল এবং ব্লুস্কাইকে CSS স্টাইল হিসাবে ঘোষণা করবে।

চিত্রের সিসি দ্বারা উত্পাদিত এসভিজি আউটপুট এখানে রয়েছে:
<style type="text/css"> .sandStyle{fill:#BFAF8F;stroke:#A6806A;stroke-width:3;stroke-miterlimit:10;} .blueSky{fill:#338AC4;stroke:#3469B7;stroke-width:3;stroke-miterlimit:10;} </style> <g id="mySquare"> <rect x="90.5" y="15.5" class="sandStyle" width="64" height="63"/> </g> <g id="myCircle"> <circle class="sandStyle" cx="42" cy="46" r="34.2"/> </g>

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

লিঙ্কযুক্ত পৃষ্ঠাটি এতে উল্লেখ করেছে, তবে সম্পূর্ণতার স্বার্থে, ইলাস্ট্রেটর কেবলমাত্র এসভিজি বিকল্প সংলাপের CSS Properties: Style Elementউন্নত অঞ্চলে (আপনার ক্লিক করার প্রয়োজন হতে পারে More Options) সেট করে থাকলে কেবল স্টাইল উপাদান এবং শ্রেণি তৈরি করে :সংরক্ষণ করুন> ফর্ম্যাট: এসভিজি> এসভিজি বিকল্পগুলি> আরও বিকল্প> সিএসএস বৈশিষ্ট্য: শৈলীর উপাদান

আমি আরও নোট করব যে উত্পন্ন কোডটি কখনই সমস্ত পরিস্থিতিতে পুরোপুরি নিখুঁত হতে পারে না। হাতে লেখা কোডটি হালকা এবং সহজভাবে পড়তে মানুষের কাছে পড়ার ঝোঁক থাকে (যদি আপনি এটিই যাচ্ছেন তবে)। আমি উইকিমিডিয়া ব্যবহারকারী Quibik এর ডকুমেন্ট উপর পড়া বলতে চাই হাতে করা SVG ফাইল পরিষ্কার আপ এবং কটাক্ষপাত গ্রহণ ঘোঁৎ ঘোঁৎ-svgmin


2

আমি কেবল এই ইস্যুটিতে দৌড়েছি এবং নিম্নলিখিত সমাধানগুলি খুঁজে পেয়েছি (ইলাস্ট্রেটার সিসির জন্য):

অভ্যন্তরীণ সিএসএসের সাহায্যে এসভিজি রপ্তানি এবং রফতানি করতে চান এমন পাথগুলিতে "গ্রাফিকাল স্টাইলস" নামযুক্ত প্রয়োগ করুন। উদাহরণস্বরূপ, মাই-আইকন নামের গ্রাফিকাল স্টাইলটি একটি অভ্যন্তরীণ my-iconশ্রেণিকে সংজ্ঞায়িত করবে এবং সেই শ্রেণিকে যথাযথ পথে প্রয়োগ করবে।

স্ক্রিনশট সহ উদাহরণ:

একটি নতুন গ্রাফিক স্টাইল তৈরি করুন: গ্রাফিক স্টাইল বিকল্প

হিসাবে রফতানি করুন ... এসভিজি:

হিসাবে রফতানি করুন ... এসভিজি

আউটপুট:

<defs><style>.my-icon{ fill:#000; }</style></defs> <path class="my-icon">...</path>

সূত্র: https://www.viget.com/articles/5-tips-for-saving-svg-for-the-web-with-illustrator

  1. উপযুক্ত সিএসএস প্রোপার্টি সেটিং (ডিভ সুখ) ব্যবহার করুন

সিসি: চিত্রকরা নামযুক্ত ক্লাসগুলি তৈরি করতে সংজ্ঞায়িত গ্রাফিকাল স্টাইল ব্যবহার করে (স্মার্ট, দরকারী)


1

চিত্রকর 21.0.0 (2017) এবং সম্ভবত পূর্ববর্তী সংস্করণগুলিতে:

  1. গ্রাফিক স্টাইলস প্যানেলে একটি নতুন স্টাইল তৈরি করুন
  2. নতুন শৈলীতে ডাবল ক্লিক করুন এবং এটিকে "মাই-স্টাইল" এর মতো একটি কাস্টম নাম দিন
  3. এক বা একাধিক উপাদানগুলিতে সেই স্টাইলটি প্রয়োগ করুন
  4. এসভিজি রফতানি করুন

এসভিজির উপাদানগুলিকে "আমার-স্টাইল" মানের সাথে একটি শ্রেণি বৈশিষ্ট্য দেওয়া হবে। তারপরে আপনি স্টাইলগুলিকে ওভাররাইড করতে বাহ্যিক সিএসএস ব্যবহার করতে পারেন।

মনে রাখবেন যে যদি আপনার স্টাইলের নামটিতে একটি স্থান থাকে তবে এটি হাইফেনে রূপান্তরিত হবে।


0

এটি করার সহজ উপায়, এটি গ্রান্ট টাস্কের মতো, তবে আরও সহজ:

আপনি ক্লাস করতে চান এমন সমস্ত বস্তুর কাছে নামটি দিন: উদাহরণস্বরূপ: "মাই ক্লাসমেইন সার্কেল" এবং "মাই ক্লাসমাইনস্টার"। রফতানির পরে সমস্ত প্রতিস্থাপন করুন: 'id = "myClass' এর সাথে 'class ="'

ফলাফলটি হবে: শ্রেণি = "মেইনসারিল" শ্রেণি = "মেইনস্টার"

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