Group
এবং Part*
উপাদানগুলি tintColor, renderMode
এবং blendMode
বৈশিষ্ট্যগুলিও প্রদান করে যা আপনার ঘড়ির মুখের অংশগুলির চেহারা সামঞ্জস্য করার শক্তিশালী উপায়।
রেন্ডার মোড সহ ক্লিপিং মাস্ক ব্যবহার করুন
renderMode
একটি ক্লিপিং মাস্ক অর্জনের জন্য WFF এর 1 সংস্করণে চালু করা হয়েছিল।
renderMode
দৃশ্যের অনুক্রমের Group
এবং Part*
উপাদানগুলিতে প্রয়োগ করা যেতে পারে। এটি কীভাবে কাজ করে তা ভালভাবে বোঝার জন্য, দৃশ্য গ্রাফটি কীভাবে রেন্ডার করা হয় তা বিবেচনা করুন:
<Group> <Group> <PartDraw /> <PartText /> </Group> <PartImage /> </Group> |
ঘড়ির মুখের রেন্ডারার দৃশ্য গাছটি অতিক্রম করার সময় উপাদানগুলিকে ক্রমানুসারে আঁকে।
যখন renderMode
একটি নোডে প্রয়োগ করা হয়, তখন প্রভাবটি শুধুমাত্র সেই নোডের প্যারেন্ট Group
মধ্যে প্রযোজ্য হয়। গ্রাফের অন্য কোথাও অন্য নোডগুলি প্রভাবিত হয় না।
যখন কোনো renderMode
নির্দিষ্ট করা থাকে না, তখন ডিফল্টটি SOURCE
হয়, যার অর্থ হল উপাদানটি সরাসরি স্ক্রিনে আঁকা হয়। যাইহোক, যখন প্যারেন্ট নোডে এক বা একাধিক উপাদান MASK
(বা ALL
) নির্দিষ্ট করে উপস্থিত থাকে, তখন একটি ভিন্ন পদ্ধতি ব্যবহার করা হয়:
- একটি অফ-স্ক্রিন ক্যানভাস তৈরি করা হয়
-
SOURCE
সেট সহ সমস্ত শিশু উপাদান (যা ডিফল্ট) আঁকা হয়৷- সমস্ত শিশু উপাদান যা মুখোশের অংশ (
MASK, ALL
) ফলস্বরূপ চিত্রটি ক্লিপ করতে ক্যানভাসে প্রয়োগ করা হয়।
- সমস্ত শিশু উপাদান যা মুখোশের অংশ (
মনে রাখবেন যে এর অর্থ হল প্যারেন্ট নোডের উপাদানগুলির ক্রম বিবেচনায় নেওয়া হয় না।
নিম্নলিখিত উদাহরণে, Scene
পিতামাতার তিনটি সন্তান রয়েছে:
- প্রথম এবং তৃতীয় উপাদানগুলি হল
MASK
উপাদান, তাই এগুলি একত্রিত হয়ে একটি মাস্কিং স্তর তৈরি করে৷ - দ্বিতীয় উপাদানটি একমাত্র নন-মাস্কিং স্তর
<WatchFace width="450" height="450">
<Scene>
<PartDraw x="175" y="50" width="100" height="100" renderMode="MASK">
<Ellipse x="0" y="0" width="100" height="100">
<Fill color="#FFFFFF"></Fill>
</Ellipse>
</PartDraw>
<PartDraw x="0" y="0" width="450" height="450">
<Rectangle x="0" y="0" width="450" height="450">
<Fill color="#ff0000">
<LinearGradient startX="0" startY="0" endX="450" endY="450"
colors="..." positions="..." />
</Fill>
</Rectangle>
</PartDraw>
<PartText x="75" y="250" width="300" height="80" renderMode="MASK">
<Text align="CENTER">
<Font family="pacifico" size="72" weight="BOLD" color="#FFFFFF">Hello!</Font>
</Text>
</PartText>
</Scene>
</WatchFace>
SOURCE
এবং MASK
ছাড়াও renderMode
জন্য তৃতীয় বিকল্প হল ALL
। ALL
নির্দিষ্ট করে যে উপাদানটিকে একটি SOURCE
হিসাবে এবং একটি MASK
হিসাবে উভয়ই বিবেচনা করা উচিত যা কিছু পরিস্থিতিতে কার্যকর হতে পারে।
ব্লেন্ড মোড ব্যবহার করুন
দ্রষ্টব্য : এই ক্ষমতাটি ওয়াচ ফেস ফরম্যাটের 3 এবং উচ্চতর সংস্করণে উপলব্ধ।
সংস্করণ 3 থেকে, ওয়াচ ফেস ফর্ম্যাট Part*
উপাদানগুলি রচনা করার সময় একটি মিশ্রণ মোড প্রয়োগ করার ক্ষমতা প্রদান করে।
renderMode
বিপরীতে, যা যথাক্রমে উত্স এবং মুখোশ তৈরির জন্য একটি বিশেষ প্রক্রিয়া চালু করে, blendMode
সমস্ত অ্যান্ড্রয়েড গ্রাফিক্স ব্লেন্ড মোড প্রভাবগুলিতে সাধারণ অ্যাক্সেস সরবরাহ করে এবং দৃশ্য গ্রাফে উপাদানগুলি যে ক্রমে উপস্থিত হয় সে অনুসারে প্রভাবগুলি প্রয়োগ করে৷
স্বাভাবিক ক্রিয়াকলাপে, যখন একটি দুটি Part*
উপাদান দৃশ্যে স্থাপন করা হয়, তখন উপরের-সবচেয়ে অস্পষ্ট বা আংশিকভাবে নিম্ন উপাদানটিকে অস্পষ্ট করে কারণ ডিফল্ট blendMode
হল SRC_OVER
।
<PartDraw x="25" y="15" width="150" height="150">
<Rectangle x="0" y="0" width="150" height="150">
<Fill color="#ffd3ba" />
</Rectangle>
</PartDraw>
<PartText x="35" y="60" width="300" height="120">
<Text align="START">
<Font family="pacifico" size="96" weight="BOLD" color="#fb5607">Hello!</Font>
</Text>
</PartText>
মিশ্রন মোড ব্যবহার করার একটি প্রদর্শন হিসাবে, SRC_ATOP
নির্বাচন করে, উৎস পিক্সেলগুলি বাতিল করে যা গন্তব্য পিক্সেলকে কভার করে না । যথা, PartText
হল উৎস, এবং গন্তব্য হল PartDraw
।
সুতরাং ফলস্বরূপ, পাঠ্যটি কেবল আয়তক্ষেত্রের উপরে আঁকা হয়, ঘড়ির মুখের অন্য কোথাও নয়:
<PartDraw x="25" y="15" width="150" height="150">
<Rectangle x="0" y="0" width="150" height="150">
<Fill color="#ffd3ba" />
</Rectangle>
</PartDraw>
<PartText x="35" y="60" width="300" height="120" blendMode="SRC_ATOP">
<Text align="START">
<Font family="pacifico" size="96" weight="BOLD" color="#fb5607">Hello!</Font>
</Text>
</PartText>
আরও জটিল প্রভাব প্রয়োগ করা যেতে পারে, যেমন SRC_ATOP
এর পরিবর্তে COLOR_DODGE
ব্যবহার করা, যা উৎস প্রতিফলিত করতে গন্তব্যকে উজ্জ্বল করে তোলে ।
HUE
এবং COLOR_BURN
মিশ্রন মোড ব্যবহার করে একাধিক Part*
উপাদান একত্রিত করার একটি উদাহরণ:
<Group name="container" x="75" y="100" width="300" height="300">
<PartDraw x="25" y="15" width="150" height="150">
<Rectangle x="0" y="0" width="150" height="150">
<Fill color="#ffd3ba" />
</Rectangle>
</PartDraw>
<PartDraw x="100" y="15" width="150" height="150" blendMode="HUE">
<Ellipse x="0" y="0" width="150" height="150">
<Fill color="#219ebc" />
</Ellipse>
</PartDraw>
<PartText x="35" y="60" width="300" height="120" blendMode="COLOR_BURN">
<Text align="START">
<Font family="pacifico" size="96" weight="BOLD" color="#fb5607">Hello!</Font>
</Text>
</PartText>
</Group>
কোনো | |
বিবেচনা
নিম্নলিখিত বিভাগগুলি ক্লিপিং এবং মিশ্রিত প্রভাবগুলি ব্যবহার করার সময় মনে রাখতে কিছু বিবেচনার বর্ণনা দেয়।
রেন্ডার মোডের আগে ব্লেন্ড মোড প্রয়োগ করা হয়
যদি একটি নোডে blendMode
ব্যবহার করে Part
এলিমেন্ট এবং renderMode
ব্যবহার করে MASK
(বা ALL
) উভয় Part
উপাদান থাকে, তাহলে নিম্নলিখিত পদ্ধতিটি নেওয়া হয়।
-
blendMode
মোডের প্রয়োগ সহ উৎসটি সংমিশ্রিত -
rendermode="MASK
" নির্দিষ্ট করে সেই উপাদানগুলি থেকে মুখোশটি প্রয়োগ করা হয়।
উদাহরণস্বরূপ, পূর্বে ব্যবহৃত পূর্ববর্তী উদাহরণ বিবেচনা করে এবং একটি আয়তক্ষেত্র মাস্ক যোগ করা, উল্লেখ্য যে মুখোশযুক্ত উপাদানের ক্রম কোন ব্যাপার নয়:
<Group name="container" x="75" y="100" width="300" height="300">
<PartDraw x="25" y="15" width="150" height="150">
<Rectangle x="0" y="0" width="150" height="150">
<Fill color="#ffd3ba" />
</Rectangle>
</PartDraw>
<PartDraw x="100" y="15" width="150" height="150" blendMode="HUE">
<Ellipse x="0" y="0" width="150" height="150">
<Fill color="#219ebc" />
</Ellipse>
</PartDraw>
<PartDraw x="100" y="15" width="150" height="150" renderMode="MASK">
<Rectangle x="0" y="0" width="150" height="150">
<Fill color="#ffffff" />
</Rectangle>
</PartDraw>
<PartText x="35" y="60" width="300" height="120" blendMode="COLOR_BURN">
<Text align="START">
<Font family="pacifico" size="96" weight="BOLD" color="#fb5607">Hello!</Font>
</Text>
</PartText>
</Group>
কর্মক্ষমতা
renderMode
এবং blendMode
ব্যবহার করার জন্য অতিরিক্ত গণনা এবং অঙ্কন পদক্ষেপের প্রয়োজন। যে ডিভাইসে ঘড়ির মুখটি চলছে তার উপর নির্ভর করে, এর কিছু সমর্থিত হার্ডওয়্যারে দক্ষতার সাথে কার্যকর করা যেতে পারে, যদিও পুরানো ডিভাইসগুলিতে এটি সম্ভব নাও হতে পারে।
এই কারণে, renderMode
এবং blendMode
বিচক্ষণতার সাথে ব্যবহার করুন এবং ঘড়ির মুখের সামগ্রিক কার্যক্ষমতার উপর তাদের ব্যবহারের প্রভাব সম্পর্কে সচেতন হন।
টিন্ট ব্যবহার করুন
একটি tintColor
সম্পূর্ণ Part*
উপাদান, Group
বা পৃথক হাতে যেমন HourHand
এবং MinuteHand
এ প্রয়োগ করা যেতে পারে, উদাহরণস্বরূপ:
<WatchFace width="450" height="450">
<Scene>
<Group x="75" y="100" width="350" height="350" name="group1" tintColor="#ffd3ba">
<PartDraw x="25" y="0" width="100" height="100">
<Rectangle x="0" y="0" width="100" height="100">
<Fill color="#ffffff" />
</Rectangle>
</PartDraw>
<PartDraw x="150" y="0" width="100" height="100">
<Ellipse x="25" y="0" width="100" height="100">
<Fill color="#ffffff" />
</Ellipse>
</PartDraw>
<PartText x="0" y="150" width="300" height="80">
<Text align="CENTER">
<Font family="pacifico" size="72" weight="BOLD" color="#ffffff">Hello!</Font>
</Text>
</PartText>
</Group>
</Scene>
</WatchFace>
এটি ব্যবহারকারীর সেটিংস থেকে স্টাইল প্রয়োগ সহ ঘড়ির মুখের একটি সম্পূর্ণ অংশ স্টাইল করার জন্য দরকারী হতে পারে, উদাহরণস্বরূপ: tintcolor="[CONFIGURATION.myThemeColor.0]"
।