এই নির্দেশিকা ব্যাখ্যা করে কিভাবে আপনি Google স্লাইড API-এর সাথে affine ট্রান্সফর্ম ব্যবহার করে পৃষ্ঠার উপাদানের আকার এবং অবস্থান করেন। অ্যাফাইন ট্রান্সফর্মের ধারণাগত ভূমিকার জন্য, রূপান্তর এবং পৃষ্ঠা উপাদান ধারণা নির্দেশিকা দেখুন।
উপাদান রূপান্তর
স্লাইডস API আপনাকে একটি পৃষ্ঠায় উপাদানগুলিকে পুনঃস্থাপন এবং স্কেল করতে দেয়। এটি করার জন্য, প্রথমে নির্ধারণ করুন কি ধরনের রূপান্তর প্রয়োগ করতে হবে এবং তারপর এক বা একাধিক UpdatePageElementTransformRequest
উপাদান ধারণকারী presentations.batchUpdate()
পদ্ধতি ব্যবহার করে সেই রূপান্তরটি প্রয়োগ করুন।
একটি ApplyMode
ব্যবহার করে রূপান্তর করা যেতে পারে:
ABSOLUTE
রূপান্তরগুলি উপাদানটির বিদ্যমান রূপান্তর ম্যাট্রিক্সকে প্রতিস্থাপন করে । ট্রান্সফর্ম আপডেটের অনুরোধ থেকে আপনি যে প্যারামিটার বাদ দেন তা শূন্যে সেট করা হয়।RELATIVE
রূপান্তরগুলি উপাদানের বিদ্যমান রূপান্তর ম্যাট্রিক্সের সাথে গুণিত হয় (গুণের বিষয়ের ক্রম):
আপেক্ষিক রূপান্তরগুলি পৃষ্ঠার উপাদানটিকে যেখান থেকে স্থানান্তর করে বা স্কেল করে। উদাহরণস্বরূপ, একটি আকৃতি 100 পয়েন্ট বাম দিকে সরানো, বা এটি 40 ডিগ্রি ঘোরানো। পরম রূপান্তর বিদ্যমান অবস্থান এবং স্কেল তথ্য বাতিল; উদাহরণস্বরূপ, পৃষ্ঠার কেন্দ্রে একটি আকৃতি সরানো, বা এটিকে একটি নির্দিষ্ট প্রস্থ হিসাবে স্কেল করা।
জটিল রূপান্তরগুলি সাধারণত সহজতরগুলির একটি ক্রম হিসাবে প্রকাশ করা যেতে পারে। একটি রূপান্তর পূর্ব গণনা করা - ম্যাট্রিক্স গুণন ব্যবহার করে একাধিক রূপান্তর একত্রিত করা - প্রায়শই ওভারহেড কমাতে পারে।
কিছু ক্রিয়াকলাপের জন্য, আপনাকে অবশ্যই একটি উপাদানের বিদ্যমান রূপান্তর পরামিতিগুলি জানতে হবে। আপনার যদি এই মানগুলি না থাকে তবে আপনি presentations.pages.get()
পদ্ধতি ব্যবহার করে সেগুলি পুনরুদ্ধার করতে পারেন।
অনুবাদ
অনুবাদ হল একটি পৃষ্ঠা উপাদানকে একই পৃষ্ঠায় একটি নতুন অবস্থানে সরানোর ক্রিয়া। পরম অনুবাদ উপাদানটিকে একটি নির্দিষ্ট বিন্দুতে নিয়ে যায়, যখন আপেক্ষিক অনুবাদগুলি উপাদানটিকে একটি নির্দিষ্ট দূরত্বে নিয়ে যায়।
একটি মৌলিক অনুবাদ রূপান্তর ম্যাট্রিক্সের ফর্ম রয়েছে:
যখন আপনি একটি উপাদানকে অনুবাদ করার জন্য একটি UpdatePageElementTransformRequest
ব্যবহার করেন (এর আকার, শিয়ার বা অভিযোজন পরিবর্তন না করে), আপনি নিম্নলিখিত AffineTransform কাঠামোগুলির মধ্যে একটি ব্যবহার করতে পারেন:
// Absolute translation: { 'transform': { 'scaleX': current scaleX value, 'scaleY': current scaleY value, 'shearX': current shearX value, 'shearY': current shearY value, 'translateX': X coordinate to move to, 'translateY': Y coordinate to move to, 'unit': 'EMU' // or 'PT' } } // Relative translation (scaling must also be provided to avoid a matrix multiplication error): { 'transform': { 'scaleX': 1, 'scaleY': 1, 'translateX': X coordinate to move by, 'translateY': Y coordinate to move by, 'unit': 'EMU' // or 'PT' } }
স্কেল
স্কেলিং হল X বা Y ডাইমেনশন বরাবর কোনো উপাদানের আকার পরিবর্তন করার জন্য প্রসারিত বা চেপে ধরার ক্রিয়া। একটি মৌলিক স্কেলিং ট্রান্সফর্ম ম্যাট্রিক্সের ফর্ম রয়েছে:
আপনি এই ম্যাট্রিক্স ফর্মটিকে একটি উপাদানের আকার পরিবর্তন করতে সরাসরি একটি RELATIVE
রূপান্তর হিসাবে ব্যবহার করতে পারেন, তবে এটি উপাদানটির রেন্ডার করা শিয়ার এবং অনুবাদকেও প্রভাবিত করতে পারে। উপাদানটির শিয়ার বা অনুবাদকে প্রভাবিত না করে স্কেল করতে, এর উপাদান রেফারেন্স ফ্রেমে স্থানান্তর করুন ।
ঘূর্ণন
ঘূর্ণন রূপান্তর একটি বিন্দুর চারপাশে একটি পৃষ্ঠা উপাদান ঘোরান, স্কেলিং এবং শিয়ার প্যারামিটার ব্যবহার করে। মৌলিক ঘূর্ণন রূপান্তর ম্যাট্রিক্সের নিম্নলিখিত ফর্ম রয়েছে, যেখানে ঘূর্ণনের কোণ (রেডিয়ানে) X-অক্ষ থেকে পরিমাপ করা হয়, ঘড়ির কাঁটার বিপরীতে চলে:
স্কেলিংয়ের মতো, আপনি একটি উপাদান ঘোরানোর জন্য এই ম্যাট্রিক্স ফর্মটিকে সরাসরি একটি RELATIVE
রূপান্তর হিসাবে ব্যবহার করতে পারেন, তবে এটি উপাদানটিকে পৃষ্ঠার উত্স সম্পর্কে ঘোরানোর কারণ হয়৷ উপাদানটিকে কেন্দ্রে বা একটি ভিন্ন বিন্দুতে ঘোরাতে, সেই উপাদানের রেফারেন্স ফ্রেমে স্থানান্তর করুন ।
প্রতিফলন
প্রতিফলন একটি নির্দিষ্ট রেখা বা অক্ষ জুড়ে একটি উপাদান মিরর করে। মৌলিক x- এবং y-অক্ষ প্রতিফলন রূপান্তর ম্যাট্রিক্সের নিম্নলিখিত রূপ রয়েছে:
স্কেলিংয়ের মতো, আপনি একটি উপাদানকে প্রতিফলিত করার জন্য এই ম্যাট্রিক্স ফর্মটি সরাসরি একটি RELATIVE
রূপান্তর হিসাবে ব্যবহার করতে পারেন, তবে এটি উপাদানটিকেও অনুবাদ করতে দেয়। কোনো অনুবাদ ছাড়াই উপাদানটিকে প্রতিফলিত করতে, এর উপাদান রেফারেন্স ফ্রেমে শিফট করুন ।
উপাদান রেফারেন্স ফ্রেম
একটি মৌলিক স্কেল , ঘূর্ণন , বা প্রতিফলন রূপান্তর সরাসরি একটি পৃষ্ঠা উপাদানে প্রয়োগ করা পৃষ্ঠার রেফারেন্স ফ্রেমে একটি রূপান্তর তৈরি করে। উদাহরণস্বরূপ, একটি মৌলিক ঘূর্ণন পৃষ্ঠার উত্স সম্পর্কে উপাদানটিকে ঘোরায় (উপরের-বাম কোণে)। যাইহোক, আপনি উপাদানটির রেফারেন্স ফ্রেমে কাজ করতে পারেন, উদাহরণস্বরূপ একটি উপাদানকে কেন্দ্র বিন্দুর চারপাশে ঘোরানোর জন্য।
একটি উপাদানকে তার নিজস্ব রেফারেন্স ফ্রেমের মধ্যে রূপান্তর করতে, এটিকে অন্য দুটি অনুবাদের মধ্যে আবদ্ধ করুন: একটি পূর্ববর্তী অনুবাদ T1
যা উপাদান কেন্দ্রকে পৃষ্ঠার মূলে নিয়ে যায় এবং একটি পরবর্তী অনুবাদ T2
যা উপাদানটিকে তার আসল অবস্থানে নিয়ে যায়। সম্পূর্ণ অপারেশন একটি ম্যাট্রিক্স পণ্য হিসাবে প্রকাশ করা যেতে পারে:
আপনি অন্য রেফারেন্স ফ্রেমেও স্যুইচ করতে পারেন, পরিবর্তে মূলে বিভিন্ন পয়েন্ট অনুবাদ করে। এই পয়েন্টগুলি নতুন রেফারেন্স ফ্রেমের কেন্দ্র হয়ে ওঠে।
অনুক্রমিক RELATIVE
রূপান্তর অনুরোধ হিসাবে পৃথকভাবে এই প্রতিটি রূপান্তর সম্পাদন করা সম্ভব। আদর্শভাবে, আপনি ম্যাট্রিক্স গুণের সাথে উপরের A'
প্রি-কম্পিউট করুন এবং ফলাফলটিকে একটি একক ABSOLUTE
রূপান্তর হিসাবে প্রয়োগ করুন। বিকল্পভাবে, T2 * B * T1
পণ্যের পূর্বনির্ধারণ করুন এবং এটিকে একটি একক RELATIVE
রূপান্তর হিসাবে প্রয়োগ করুন। এগুলি উভয়ই আরও দক্ষ, API ক্রিয়াকলাপের পরিপ্রেক্ষিতে, তারপর পৃথকভাবে রূপান্তর অনুরোধগুলি প্রেরণ করে।
সীমাবদ্ধতা
কিছু সাইজিং এবং পজিশনিং ক্ষেত্র কিছু ধরণের পৃষ্ঠা উপাদানের সাথে বেমানান। নিম্নলিখিত সারণীটি আকার এবং অবস্থানের ক্ষেত্রের সাথে নির্দিষ্ট পৃষ্ঠা উপাদানগুলির সামঞ্জস্যের সারসংক্ষেপ করে:
মাঠ | আকৃতি | ভিডিও | টেবিল |
---|---|---|---|
অনুবাদ | ✔ | ✔ | ✔ |
স্কেল | ✔ | ✔ | না** |
শিয়ার | ✔ | না | না |
টেবিলের সারি এবং কলামের মাত্রা আপডেট করতে, UpdateTableRowPropertiesRequest
এবং UpdateTableColumnPropertiesRequest
ব্যবহার করুন।
সমস্ত সাইজিং এবং পজিশনিং ক্ষেত্র অপ্রত্যাশিত ফলাফল দিতে পারে যদি পৃষ্ঠা উপাদানের শিয়ারিং থাকে। সমস্ত সীমাবদ্ধতা পরিবর্তন সাপেক্ষে. বর্তমান তথ্যের জন্য, Google স্লাইড API দেখুন।
রিফ্যাক্টর করা মান
আপনি যখন একটি পৃষ্ঠা উপাদান তৈরি করেন, আপনি একটি আকার এবং রূপান্তর নির্দিষ্ট করতে পারেন যা একটি নির্দিষ্ট ভিজ্যুয়াল ফলাফল প্রদান করে। যাইহোক, স্লাইড এপিআই আপনার প্রদত্ত মানগুলিকে অন্য মানগুলির সাথে প্রতিস্থাপন করতে পারে যা একই দৃশ্যমান উপস্থিতি দেয়৷ সাধারণভাবে, যদি আপনি API ব্যবহার করে একটি আকার লেখেন, তাহলে আপনাকে একই আকার ফেরত দেওয়ার নিশ্চয়তা নেই। যাইহোক, আপনি যদি রূপান্তরকে বিবেচনায় নেন তবে আপনার একই ফলাফল পাওয়া উচিত।