ইলাস্ট্রেটর এবং ফটোশপে একাধিকবার গ্রেডিয়েন্টের পুনরাবৃত্তি কীভাবে করবেন?


12

কিভাবে গ্রেডিয়েন্ট 'এন' বার পুনরায় করা যায় , উদাহরণস্বরূপ, কালো থেকে সাদা গ্রেডিয়েন্টটি 5 বার (স্ট্রোকের পথে বরাবর) পুনরাবৃত্তি করা যেমন আমি নীচের উদাহরণের চিত্রটিতে ম্যানুয়ালি করেছি।

গ্রেডিয়েন্ট স্লাইডারটি ম্যানুয়ালি অনুলিপি না করেই 50 বা 100 এর মতো 'এন' বারকে গুণানোর জন্য কী স্বয়ংক্রিয় উপায় আছে ?

গ্রেডিয়েন্ট একাধিকবার ম্যানুয়ালি পুনরাবৃত্তি করেছে


বিষ্ণু, আপনি কি কেবল এটিকে কোনও ক্রিয়াতে রূপান্তরিত করার চেষ্টা করেছেন এবং আপনার ইচ্ছামত এটি করার জন্য এটি রেকর্ডিং করেছেন। কোন ঝামেলা নেই
শান

উত্তর:


7

স্ক্রিপ্টিং ব্যবহার করুন!

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

এটি ব্যবহার করতে, গ্রেডিয়েন্টের উদ্দেশ্যে বর্ণিত রঙগুলি পূর্ণ 2 বা ততোধিক পাথ নির্বাচন করুন, তারপরে যখন গ্রেডিয়েন্টটি পুনরাবৃত্তি করার জন্য সংখ্যার বার লিখুন।

http://pastie.org/10924009

সম্পাদনা করুন : প্যাসিটি সাইট কাজ করছে না, তাই আমি নীচের কোডটি অন্তর্ভুক্ত করেছি:

// select two paths, then run this script
if (app.activeDocument.selection.length < 2) {

    alert("Please select two or more paths with fills.");

} else {

    var cycles = Number(prompt ("Repeat the gradient how many times?")) || 5;  
    var myselection = app.activeDocument.selection;
    var colors = [];

    for (var i = 0; i < myselection.length; i++) {
        var newColor = myselection[i].fillColor;
        colors.push(newColor);
    }

    var stops = colors.length * cycles - 1; // “stops” does not include default 2 stops
    var interval = 100 / (cycles * colors.length); // ... the distance between stops

    var newGradient = app.activeDocument.gradients.add();  

    newGradient.type = GradientType.LINEAR;     // asymmetric, for 3 or more colours
    //newGradient.type = GradientType.RADIAL;   // symetric, for 3 or more colours

    //  the default 2 gradient stops (at beginning and end)
    //  should be the same colour, so that the gradient smoothly wraps around:
    newGradient.gradientStops[0].color = colors[0]; 
    newGradient.gradientStops[1].color = colors[0]; 

    // now add stops between beginning and end stops:
    for ( i = 1; i <= stops; i++ ) {

        var thisStop = newGradient.gradientStops.add();
        thisStop.rampPoint = i * interval;
        thisStop.color = colors[i % colors.length];

    }

    // to get a even result, the first and last rampPoints cannot be 0 and 100:
    newGradient.gradientStops[0].rampPoint = 0.1;
    newGradient.gradientStops[stops + 1].rampPoint = 99.9;
}

উদাহরণ 1: কালো এবং সাদা, 6 বার পুনরাবৃত্তি, সিএমওয়াইকে নথি:

উদাহরণ 1

উদাহরণ 2: 3 রঙ গ্রেডিয়েন্ট, 6 পুনরাবৃত্তি:

উদাহরণ 2

উদাহরণ 3: আরজিবি ডক, 6 টি রঙ, 20 পুনরাবৃত্তি। লক্ষ্য করুন কীভাবে ভরাট পাথগুলি ওভারল্যাপ করছে? স্ট্যাকিং অর্ডার (সামনে থেকে পিছনে) গ্রেডিয়েন্টে রঙের ক্রম নির্ধারণ করে।

উদাহরণ 3

গ্রেডিয়েন্টে রঙ পরিবর্তন করা : গ্রেডিয়েন্ট প্রয়োগের সাথে একটি পথ নির্বাচন করুন, তারপরে স্য্যাচস প্যানেল ফ্লাই-আউট মেনু চয়ন করুন selected নির্বাচিত রং যুক্ত করুন। নতুন গ্লোবাল স্য্যাচগুলি স্য্যাচগুলি প্যানেলে যুক্ত করা হবে এবং আপনি যখন একটি সম্পাদনা করেন, এটি যেখানেই প্রদর্শিত হয় আপডেট হয়।

উদাহরণ 4


খুব সুন্দর. আপনি পছন্দটি থেকে নির্বাচনটি পছন্দ করেছেন তা পছন্দ করি। এটা ভাবিনি।
পাইবি

অসাধারণ! কিন্তু পেস্ট.আরোগ লিঙ্কটি কাজ করছে না। দয়া করে চেক করুন এবং আপডেট করুন।
বিষ্ণু

1
@ বিষ্ণু: পুরো প্যাসিটির সার্ভারটি ডাউন বলে মনে হচ্ছে। আমি অনুমান করছি যে এটি আবার না ফিরে আসা পর্যন্ত আপনার কিছুটা ধৈর্য দরকার।
পাইবি

6

আপনি ইলাস্ট্রেটর স্ক্রিপ্টিং দিয়ে এটি অর্জন করতে পারেন। Page 68 পৃষ্ঠায় গ্রেডিয়েন্টস এর অধীনে জাভাস্ক্রিপ্ট রেফারেন্স পিডিএফ- তে সিসি 15.3 এর জন্য নথিপত্র যাচাই করা হচ্ছে ।

রঙগুলি তৈরি করুন:

// Create the colors
var startColor = new RGBColor();  
startColor.red = 0;  
startColor.green = 100;  
startColor.blue = 255;  

var middleColor = new RGBColor();
middleColor.red = 252;  
middleColor.green = 238;  
middleColor.blue = 33;

var endColor = new RGBColor();  
endColor.red = 220;  
endColor.green = 0;  
endColor.blue = 100;  

গ্রেডিয়েন্ট তৈরি করুন:

var newGradient = app.activeDocument.gradients.add();  
newGradient.name = "new_gradient_75097";  

রৈখিক গ্রেডিয়েন্ট তৈরি করুন:

newGradient.type = GradientType.LINEAR;  

বা একটি রেডিয়াল গ্রেডিয়েন্ট তৈরি করুন:

newGradient.type = GradientType.RADIAL; 

আপনি যেখানে একাধিক ধরণের গ্রেডিয়েন্ট তৈরি করতে চান তা এখানে থাকবে GradientStops:

// Modify the first gradient stop  
newGradient.gradientStops[0].rampPoint = 0  
newGradient.gradientStops[0].midPoint = 20;  
newGradient.gradientStops[0].color = startColor;  
// Modify the middle gradient stop  
newGradient.gradientStops.add();
// Modify the last gradient stop  
newGradient.gradientStops[1].rampPoint = 70;  
newGradient.gradientStops[1].midPoint = 80;  
newGradient.gradientStops[1].color = endColor;

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

বারের নাম্বারে কল করুন:

var countgradient = Number(prompt ("Enter Gradient Count"));  

একটি লুপ তৈরি করুন এবং আরও গ্রেডিয়েন্টের পরিমাণ যুক্ত করুন:

for ( i =0; i < countgradient; i++ ) {
    var origCount = newGradient.gradientStops.length;
    var lastStop = newGradient.gradientStops[origCount-1];

    var firstStop = newGradient.gradientStops.add();
    firstStop.rampPoint = lastStop.rampPoint;
    lastStop.rampPoint = lastStop.rampPoint - 1;
    firstStop.color = endColor;

    var secondStop = newGradient.gradientStops.add();
    secondStop.rampPoint = lastStop.rampPoint;
    lastStop.rampPoint = lastStop.rampPoint - 2;
    secondStop.color = startColor;
}

উপরে লিঙ্কটি থেকে 65-71 পৃষ্ঠায় যা রয়েছে তার একটি মিশ্রণের উপরে কোড:

1 বারের সাথে উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

5 বারের সাথে উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

lastStop.rampPoint - nযেখানে তারা অবতরণ করতে আপনি সংশোধন করতে পারেন । আশাকরি এটা সাহায্য করবে.


5

আপনি কেবলমাত্র স্ট্রোক হিসাবে গ্রেডিয়েন্টটি ব্যবহার করছেন (আপনার প্রশ্নের মতো) এটি কাজ করবে। যদি আপনি গ্রেডিয়েন্টটি অবিরাম পুনরাবৃত্তি করতে চান (নির্দিষ্ট সংখ্যার পুনরাবৃত্তির বিপরীতে) তবে আপনি পদক্ষেপ 2 এবং 3 এড়িয়ে যেতে পারেন এবং আর্ট ব্রাশের পরিবর্তে প্যাটার্ন ব্রাশ ব্যবহার করতে পারেন। সিসিতে আপনি এখন ব্রাশগুলিতে চিত্রগুলি ব্যবহার করতে পারেন যাতে আপনি গ্রেডিয়েন্টটি প্রসারিত করার পরিবর্তে রাস্টারাইজ করতে সক্ষম হতে পারেন তবে আমি CS6 ব্যবহার করছি তাই আমি এটি পরীক্ষা করতে পারছি না।

  1. আপনি পুনরাবৃত্তি করতে চান এমন গ্রেডিয়েন্টে ভরা একটি একক আয়তক্ষেত্র সেট আপ করুন।

এখানে চিত্র বর্ণনা লিখুন

  1. আপনার আয়তক্ষেত্রটি সদৃশ করতে ট্রান্সফর্ম এফেক্ট ( এফেক্ট → ডরস্টার ও ট্রান্সফর্ম → ট্রান্সফর্ম ... ) ব্যবহার করুন। আপনার আয়তক্ষেত্রের প্রস্থে অনুভূমিক পদক্ষেপটি সেট করুন এবং আপনার প্রয়োজন অনুযায়ী কপিগুলি সেট করুন।

এখানে চিত্র বর্ণনা লিখুন

  1. রূপান্তর প্রভাব প্রসারিত করুন ( অবজেক্ট → প্রসারিত চেহারা )।

  2. আপনি ব্রাশগুলিতে গ্রেডিয়েন্টগুলি ব্যবহার করতে পারবেন না সুতরাং আপনাকে গ্রেডিয়েন্টটি প্রসারিত করতে হবে ( অবজেক্ট → প্রসারিত ), "গ্রেডিয়েন্ট টু বিস্তৃত করুন" এর অধীনে আপনার প্রসারিত করার জন্য বেশ কয়েকটি অবজেক্ট বেছে নিন।

    গ্রেডিয়েন্টটি প্রসারিত করার ফলে আপনাকে প্রসারিত গ্রেডিয়েন্টে কয়েকটি ক্লিপিং মাস্কগুলি ছেড়ে যাবে, আপনাকে স্তরগুলির মধ্য দিয়ে যেতে হবে এবং সেগুলি মুছতে হবে (বা ডান ক্লিক করতে হবে এবং "অবসর" তারপর "ক্লিপিং মাস্ক প্রকাশ করুন" যতক্ষণ না আরও কোনও মুখোশ নেই)।

এখানে চিত্র বর্ণনা লিখুন

  1. ব্রাশ প্যানেলে আপনার প্রসারিত গ্রেডিয়েন্টগুলি টেনে আনুন এবং "আর্ট ব্রাশ" নির্বাচন করুন। আপনার ব্রাশের জন্য ডিফল্ট বিকল্পগুলি সম্ভবত ঠিক আছে তাই কেবল "ওকে" চাপুন। আপনি সর্বদা ফিরে যেতে পারেন এবং পরে ব্রাশ বিকল্পগুলি সামঞ্জস্য করতে পারেন।

  2. আপনার নতুন ব্রাশ প্রয়োগ করুন।

এখানে চিত্র বর্ণনা লিখুন


5

Illustrator জেএস ম্যানুয়াল উপর ভিত্তি করে আমি নীচের কোড নিয়ে এসেছি। এই কোডটি আপনি যা চান ঠিক তেমন করে:

  • দুটি রঙ স্টপ সহ গ্রেডিয়েন্ট তৈরি করে: কালো এবং সাদা and
  • এটি পাঁচবার পুনরাবৃত্তি করে
  • সক্রিয় (নির্বাচিত) উপাদানটিতে স্ট্রোক হিসাবে এটি প্রয়োগ করে

লাইনের নীচে আরও সাধারণ সংস্করণ পাওয়া যাবে।

এখানে চিত্র বর্ণনা লিখুন

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

//Change these
var numberOfColors = 2; //Change this to the desired number of colors in the gradient
var iteration = 5; //Change this to the desired times you want to repeat the gradient

(২) তারপরে আমরা কিছু ভেরিয়েবল সেট করে রেখেছি পরে। GradientIntervalশতাংশ অবস্থান প্রতিটি বিন্দুতে চাহিদা এ সেট করা হিসাব করে। totalNumberofStopsএটি বেশ স্ব-বর্ণনামূলক। colorsঅ্যারে পরে ব্যবহার করা হবে।

//Don't change these
var i,j;
var gradientInterval = 100 / numberOfColors / iteration;
var totalNumberOfStops = numberOfColors * iteration;
var colors = [];

(3) তারপরে আমরা আমাদের রঙগুলি সংজ্ঞায়িত করতে পারি। numberOfColorsআপনার শুরুতে ঠিক যতগুলি রঙ সেট করা দরকার । অনুপস্থিত রং কালোতে ডিফল্ট হবে।

//Don't forget to push the colors to the colors array!

var color1 = new RGBColor();
color1.red = 0;
color1.green = 0;
color1.blue = 0;
colors.push(color1);

var color2 = new RGBColor();
color2.red = 255;
color2.green = 255;
color2.blue = 255;
colors.push(color2);

(4) আমাদের গ্রেডিয়েন্ট তৈরি করার এবং এটি একটি নাম দেওয়ার সময়। আমরা এখন টাইপ সেট করতে পারেন।

//Let's initiate the gradient & name it
var newGradient = app.activeDocument.gradients.add();
newGradient.name = "new_gradient";

//Choose the gradient type here
//newGradient.type = GradientType.RADIAL; //Uncomment the one you need
newGradient.type = GradientType.LINEAR; //Uncomment the one you need

(5) এখন ভাল অংশ জন্য। প্রথমে আমরা লুপ করব totalNumberOfStopsযাতে আমরা প্রতিটি স্টপ তৈরি করতে পারি এবং গ্রেডিয়েন্টে এটি যুক্ত করতে পারি। আমরা একটি নতুন স্টপ তৈরি করি এবং এটি শেষের চেয়ে আরও একটি সেট করে রেখেছি। এখন আমাদের রঙের অ্যারে থেকে সঠিক রঙটি নেওয়া দরকার। রঙের সংখ্যা দ্বারা বিভাজিত লুপ সূচকের মডুলাস 0 হলে আমরা জানি যে আমাদের প্রতিটি রঙ ছিল এবং আমাদের আবার শুরু করা দরকার, তাই আমরা আমাদের রঙ সূচকটি পুনরায় সেট করি।

উদাহরণ বলুন আমি ছয়টি রঙ পেয়েছি যা আমি পাঁচবার লুপ করতে চাই। আমরা ত্রিশটি স্টপস পেয়েছি। আমরা সমস্ত রঙ ব্যবহার করে লুপ করি j। যখন j6 হয় তখন আর কোনও রঙ থাকে না (ছয়টি অ্যারের সপ্তম রঙ তবে অ্যারেটিতে কেবল ছয়টি রঙ থাকে)। ছয়টির প্রতিটি একাধিক আমরা আবার 0 এ শুরু করি El

এখন আমাদের কেবলমাত্র 100% এ চূড়ান্ত রঙ স্টপ যুক্ত করা দরকার।

//Now here is where the magic starts
for(i=0;i<totalNumberOfStops;i++){
    var newStop = newGradient.gradientStops.add();
    newStop.rampPoint = i * gradientInterval;
    var modulus = i % numberOfColors;
    if(modulus === 0){
        j = 0;
    }else{
        j+=1;
    }
    newStop.color = colors[j];
}
var lastStop = newGradient.gradientStops.add();
lastStop.rampPoint = 100;
lastStop.color = colors[colors.length-1];

()) চূড়ান্ত পদক্ষেপ: স্ট্রোকের গ্রেডিয়েন্ট প্রয়োগ করা। সম্পন্ন. পার্টি!

//Apply gradient stroke to selected object
var colorOfGradient = new GradientColor();
colorOfGradient.gradient = newGradient;
var topPath = app.activeDocument.pathItems[0];
topPath.stroked = true;
topPath.strokeWidth = 140;
topPath.strokeColor =colorOfGradient;

()) আপনাকে স্ট্রোকটি ম্যানুয়ালি 'স্ট্রোকের সাথে গ্রেডিয়েন্ট প্রয়োগ করতে' সেট করতে হতে পারে, কারণ আমি এটি করার কোডটি পাই নি।

গ্রেডিয়েন্ট স্ট্রোক


এই কোডটি বিশেষভাবে আপনার মামলার জন্য তৈরি করা হয়েছিল। আরও সাধারণ সংস্করণটি এখানে পাওয়া যাবে: http://pastie.org/10921740

কিছু উদাহরণ:

দুটি রঙের সাথে গ্রেডিয়েন্ট, দু'বার পুনরাবৃত্তি করা: এখানে চিত্র বর্ণনা লিখুন

পাঁচ বার রঙ সহ গ্রেডিয়েন্ট, 10 বার পুনরাবৃত্তি: এখানে চিত্র বর্ণনা লিখুন

দুটি রঙের একটি গ্রেডিয়েন্ট, 50 বার পুনরাবৃত্তি: এখানে চিত্র বর্ণনা লিখুন

50 রঙের 50 বার পুনরাবৃত্তি সহ একটি ভাসমান গ্রেডিয়েন্ট: এখানে চিত্র বর্ণনা লিখুন


এই স্ক্রিপ্টটি ভাল, ব্যতিরেকে দুটি অতিরিক্ত গ্রেডিয়েন্ট স্টপ রয়েছে - একটি শুরুতে এবং শেষে একটি - যা গ্রেডিয়েন্টটিকে সম্পূর্ণ বিজোড় হতে বাধা দেয়। আপনি যখন গ্রেডিয়েন্ট তৈরি করেন, সেখানে ডিফল্টভাবে দুটি স্টপ থাকে।
এমজি_

হ্যাঁ চিত্রক সর্বদা একটি স্ক্রিপ্ট থেকে উত্পাদনের সময় 100% এ একটি রঙ স্টপ যুক্ত করে, এমনকি যদি আপনি কোনও উল্লেখ না করেন। তবে আপনি যদি এটি নির্দিষ্ট না করেন তবে রঙটি কালোতে সেট করা আছে। আমার কাজের ভিত্তিটি ছিল 100% এ স্টার্টক্লোর দিয়ে একটি অতিরিক্ত রঙ স্টপ যুক্ত করা। এটি নির্বিঘ্ন নয়, তবে এটিই আমার পক্ষে সেরা।
পাইবি

ওহ না, আমি এখন দেখছি, প্যাসিটি লিঙ্কটি একটি পুরানো সংস্করণ, আমি আপডেট করব।
পাইবি

0

আমার খুব একই সমস্যা ছিল, এবং এমজি_এর উত্তরটি আমার প্রয়োজন হিসাবে কেবল ছিল!

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

var run = true;
if (app.activeDocument.selection.length < 2) {
    alert("Please select two or more paths with fills.");
} else {
    var dlg = new Window("dialog{text:'Create repeated gradient'}");

    dlg.location = [500,50];
    (dlg.alertBtnsPnl1 = dlg.add('panel', undefined, 'Color transition:')).helpTip = "Smooth or rough transition"; 
    (dlg.alertBtnsPnl1.selectS = dlg.alertBtnsPnl1.add('radiobutton', [15,15,95,35], 'Smooth' )).helpTip = "Smooth color transition"; 
    (dlg.alertBtnsPnl1.selectR = dlg.alertBtnsPnl1.add('radiobutton', [15,15,75,35], 'Rough' )).helpTip = "Sharp color transition"; 
    dlg.alertBtnsPnl1.orientation='row';
    dlg.alertBtnsPnl1.selectS.value = true;

    (dlg.alertBtnsPnl3 = dlg.add('panel', undefined, 'Gradient type:')).helpTip = "Linear or radial gradient"; 
    (dlg.alertBtnsPnl3.selectL = dlg.alertBtnsPnl3.add('radiobutton', [15,15,95,35], 'Linear' )).helpTip = "Linear gradient"; 
    (dlg.alertBtnsPnl3.selectR = dlg.alertBtnsPnl3.add('radiobutton', [15,15,75,35], 'Radial' )).helpTip = "Radial gradient"; 
    dlg.alertBtnsPnl3.orientation='row';
    dlg.alertBtnsPnl3.selectL.value = true;

    (dlg.alertBtnsPnl2 = dlg.add('panel', undefined, 'Gradient repeats:')).helpTip = "Gradient repeat count"; 
    (dlg.alertBtnsPnl2.slide = dlg.alertBtnsPnl2.add('slider', [25,15,165,39], 'Set repeat count for gradient:')).helpTip = "Use Slider to set a repeat count"; 
    dlg.alertBtnsPnl2.slide.value = 2; 
    (dlg.alertBtnsPnl2.titleEt = dlg.alertBtnsPnl2.add('edittext', [100,15,160,35], dlg.alertBtnsPnl2.slide.value)).helpTip = "Enter a repeat count value"; 
    dlg.alertBtnsPnl2.titleEt.text = Math.ceil(dlg.alertBtnsPnl2.slide.value); 
    dlg.alertBtnsPnl2.orientation='row';

    (dlg.alertBtnsPnl4 = dlg.add('panel', undefined, 'First and last colors:')).helpTip = "Define type of gradient loop";
    (dlg.sameStartAndEnd = dlg.alertBtnsPnl4.add('checkbox', [25,25,235,39], 'Start and end with same color')).helpTip="Use this for seamless gradient"; 
    dlg.sameStartAndEnd.value = true; 
    dlg.alertBtnsPnl4.orientation='column';

    dlg.btnPnl = dlg.add('group', undefined, 'Do It!'); 
    dlg.btnPnl.orientation='row';
    dlg.btnPnl.buildBtn1= dlg.btnPnl.add('button',[15,15,115,35], 'Cancel', {name:'cancel'}); 
    dlg.btnPnl.buildBtn2 = dlg.btnPnl.add('button', [125,15,225,35], 'OK', {name:'ok'}); 
    dlg.alertBtnsPnl2.slide.onChange= sliderChanged;
    dlg.alertBtnsPnl2.titleEt.onChanging = eTextChanged;
    dlg.btnPnl.buildBtn1.onClick= actionCanceled;
    dlg.show();

    if(run){
        var smooth = (dlg.alertBtnsPnl1.selectS.value) ? true : false;
        var cycles = dlg.alertBtnsPnl2.slide.value;
        var myselection = app.activeDocument.selection;
        var colors = [];

        for (var i = 0; i < myselection.length; i++) {
            var newColor = myselection[i].fillColor;
            colors.push(newColor);
        }

        var stops;
        var interval;
        if(dlg.sameStartAndEnd.value && !smooth){
            stops = colors.length * cycles - 2;
            interval = 100 / ((cycles * colors.length)+1);
        }else{
            if(smooth && !dlg.sameStartAndEnd.value){
                stops = colors.length * cycles - 2;
                interval = 100 / ((cycles * colors.length)-1);
            }else{
                stops = colors.length * cycles - 1;
                interval = 100 / (cycles * colors.length);
            }
        }

        var allStops = stops;
        var newGradient = app.activeDocument.gradients.add();  

        newGradient.type = (dlg.alertBtnsPnl3.selectL.value) ? GradientType.LINEAR : GradientType.RADIAL;

        newGradient.gradientStops[0].color = colors[0]; 
        if(dlg.sameStartAndEnd.value) newGradient.gradientStops[1].color = colors[0]; 
        else newGradient.gradientStops[1].color = colors[colors.length - 1]; 

        if(!smooth){
            var thisStop = newGradient.gradientStops.add();
            thisStop.rampPoint = interval-0.1;
            thisStop.color = colors[0];
            allStops++;
        }

        for(i = 1; i <= stops; i++){
            var thisStop = newGradient.gradientStops.add();
            thisStop.rampPoint = i * interval;
            thisStop.color = colors[i % colors.length];

            if(!smooth && i<(stops+1)){
                var thisStop = newGradient.gradientStops.add();
                thisStop.rampPoint = (i+1) * interval - 0.001;
                thisStop.color = colors[i % colors.length];
                allStops++;
            }
        }

        if(!smooth && dlg.sameStartAndEnd.value){
            var thisStop = newGradient.gradientStops.add();
            thisStop.rampPoint = 100 - (interval*2);
            thisStop.color = colors[colors.length-1];
            allStops++;
            var thisStop = newGradient.gradientStops.add();
            thisStop.rampPoint = 99.9 - interval;
            thisStop.color = colors[colors.length-1];
            allStops++;
            var thisStop = newGradient.gradientStops.add();
            thisStop.rampPoint = 100 - interval;
            thisStop.color = colors[0];
            allStops++;
        }

        newGradient.gradientStops[0].rampPoint = 0.1;
        if(dlg.sameStartAndEnd.value)newGradient.gradientStops[allStops + 1].rampPoint = 99.9;
    }
}

function actionCanceled() { 
    run = false;
    dlg.hide();
}

function sliderChanged() { 
    dlg.alertBtnsPnl2.slide.value = Math.ceil(dlg.alertBtnsPnl2.slide.value);
    dlg.alertBtnsPnl2.titleEt.text = Math.ceil(dlg.alertBtnsPnl2.slide.value);
}

function eTextChanged() { 
    dlg.alertBtnsPnl2.titleEt.text = Math.ceil(dlg.alertBtnsPnl2.titleEt.text);
    dlg.alertBtnsPnl2.slide.value = Math.ceil(dlg.alertBtnsPnl2.titleEt.text);
}

সুতরাং মূলত এটি যে উত্তরটি আমি সংযুক্ত করেছি ঠিক তেমনভাবে কাজ করে, তবে কয়েকটি অতিরিক্ত বিকল্প রয়েছে: এখানে চিত্র বর্ণনা লিখুন


-3

ঠিক আছে, আমি সমস্তভাবে গ্রেডিয়েন্ট ব্যবহার করব না। প্রথমে আপনার মতো গ্রেডিয়েন্ট তৈরি করুন, তারপরে এটি একটি ক্যানভাস পূরণ করুন এবং প্যাটার্নটি সংজ্ঞায়িত করুন (সম্পাদনা করুন> প্যাটার্ন সংজ্ঞায়িত করুন)। তারপরে আপনি লেয়ারে যান। নতুন ভরাট স্তর এবং প্যাটার্ন চয়ন করুন। আপনি ক্লিপিং মাস্ক হিসাবে বিদ্যমান স্তরটি ব্যবহার করতে পারেন। এখন, "এন" হ'ল "স্কেল" সুতরাং 100% 1, 50% হল এন = 2 এবং আরও অনেক কিছু। আরও ক্ষুদ্রতর স্কেল আরও পঠনযোগ্য প্যাটার্ন এবং গ্রেডিয়েন্ট হয়ে উঠবে।

দ্বিতীয় পদক্ষেপটি আমি গ্রহণ করব "পদক্ষেপ এবং পুনরাবৃত্তি"। আমি জানি না আপনি কোথায় এবং কীভাবে এই একাধিক "ওয়েভি" গ্রেডিয়েন্টটি ব্যবহার করতে চান তবে ফটোশপের জিনিসগুলিকে গুণিত করার জন্য "এসএন্ডআর" খুব কার্যকর। আপনার কাজটি (স্কেল, সরানো, ঘোরানো অবজেক্ট) সবেমাত্র "ctrl (cmd) + Alt + t" চাপুন, এন্টার টিপুন এবং তারপরে "shift + ctrl (cmd) + Alt + t" ব্যবহার করুন এবং ফটোশপ আপনি যা করেছেন তার প্রতিলিপি তৈরি করবে। যদি আপনি ঘোরান, সরান এবং কোনও বস্তুর স্কেল করুন PS আপনি পুনরাবৃত্তি শর্টকাটটি যতবার আঘাত করবেন ততবার এটি করবে। এখানে চিত্র বর্ণনা লিখুন

এখানে আমি সবে দ্বিতীয় বৃহত্তম খামের সাথে খেলেছি এবং তারপরে পদক্ষেপটি পুনরাবৃত্তি করেছি।

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