এটি শীতকালীন, এবং বছরের শীঘ্রই শীত পড়া শুরু করার জন্য সময় এসেছে (এবং অদ্ভুত রঙিন হেডক্ল্যাথগুলি ... শীঘ্রই দেখা শুরু করবে)। থিমটি ফিট করার জন্য অবতারের ছবি এবং অন্যান্য চিত্র হিমশীতল করতে কিছু কোড লিখি!
ইনপুট
এই চ্যালেঞ্জটিতে জমা দেওয়ার ইনপুটটি একটি চিত্র (হিমায়িত করার জন্য চিত্র) এবং একটি সংখ্যা হওয়া উচিত (প্রান্তিককরণ, যা পরে ব্যাখ্যা করা হবে)।
আপনি যে কোনও উপায়ে চিত্রটি ইনপুট করতে পারেন আপনার ভাষা তাদের সমর্থন করে (কোনও ফাইল পাথ বা ইউআরএলকে একটি আর্গুমেন্ট হিসাবে, এটি ক্লিপবোর্ড থেকে নেওয়া, একটি ছবি টেনে এনে ফেলে দেওয়া ইত্যাদি) এবং এখানে তালিকাভুক্ত যে কোনও ফর্ম্যাটে আরজিবিতে রঙ প্রকাশ করে (আপনি আপনার আপনি চাইলে আরজিবিএ সমর্থন / প্রয়োজন করতে পারেন তবে এটি কোনও প্রয়োজন নয়)।
আপনার প্রোগ্রামটিতে হার্ডকোডিং ব্যতীত আপনি (কমান্ড লাইন আর্গুমেন্ট, এসটিডিআইএন, ইনপুট ডায়ালগ, ইত্যাদি) কোনওভাবেই নম্বরটি ইনপুট করতে পারেন (উদাঃ n=10
)। আপনি যদি চিত্রটির জন্য কোনও ফাইল পাথ / URL ব্যবহার করেন তবে এটি অবশ্যই এই পদ্ধতিতে ইনপুট হওয়া উচিত।
আউটপুট
প্রোগ্রামটি অবশ্যই নীচের বর্ণনানুসারে চিত্রটি প্রসেস করবে এবং তারপরে আপনার পছন্দ মতো কোনও পদ্ধতিতে এটি আউটপুট করা উচিত (কোনও ফাইলের কাছে, এটি স্ক্রিনে দেখানো, ক্লিপবোর্ডে রেখে দেওয়া ইত্যাদি)।
বিবরণ
জমা দেওয়ার জন্য নিম্নলিখিত তিনটি পদক্ষেপ সহ চিত্রটি প্রক্রিয়া করা উচিত। n
আপনার প্রোগ্রামটি চিত্রের সাথে ইনপুট হিসাবে প্রাপ্ত নম্বরটিকে বোঝায়।
ব্যাসার্ধ একটি দাগ প্রয়োগ
n
গড় আর, জি, এবং একটি মধ্যে সব পিক্সেল বি মান প্রতিটি পিক্সেল এর আর, জি, এবং B মান প্রতিস্থাপন করার মাধ্যমে ইনপুট চিত্রে ম্যানহাটন দূরত্ব এরn
, পিক্সেল সব আউট-অফ-সীমা স্থানাঙ্ক উপেক্ষা। (অর্থাত্ সমস্ত পিক্সেল যেখানে এক্স এর পার্থক্যের যোগফল এবং ওয়াইয়ের পার্থক্যের সমষ্টি কম বা সমানn
))(দ্রষ্টব্য: আমি উপরের চিত্রগুলির জন্য একটি গাউসিয়ান ব্লার ব্যবহার করেছি কারণ এটির জন্য একটি সুবিধাজনক অন্তর্নির্মিত কার্য ছিল, তাই আপনার চিত্রগুলি কিছুটা অন্যরকম লাগবে))
প্রতিটি পিক্সেলকে পিক্সেলের দূরত্বের মধ্যে এলোমেলো পিক্সেলে সেট করুন
n/2
("দূরত্ব" পূর্ববর্তী ধাপের মতো একইভাবে সংজ্ঞায়িত করা হয়েছে)।এটি চিত্রের মধ্য দিয়ে লুপিং করে এবং প্রতিটি পিক্সেলটিকে এই রেঞ্জের এলোমেলো পিক্সেলের সাথে সেট করে করা উচিত, যাতে কিছু পিক্সেল পুরোপুরি অদৃশ্য হয়ে যায় এবং কিছুটিকে নকল করা যেতে পারে।
সমস্ত পরিবর্তন একই সাথে প্রয়োগ করতে হবে। অন্য কথায়, পিক্সেলের পুরানো মানগুলি ব্যবহার করুন (প্রথম ধাপের পরে তবে এই ধাপের আগে), এলোমেলো পিক্সেল সেট করার পরে নতুন মানগুলি নয়।
প্রতিটি পিক্সেলের "নীল" আরজিবি মানকে 1.5 দ্বারা গুন করুন, এটি 255 এ কেপ করুন (বা পিক্সেলের ব্যান্ডের সর্বাধিক মান যাই হোক না কেন) এবং বৃত্তাকার হয়ে যায়।
বিধি
আপনি নিজের ভাষায় নির্মিত চিত্র লাইব্রেরি / চিত্র প্রক্রিয়াকরণ সম্পর্কিত ফাংশন ব্যবহার করতে পারেন; তবে, আপনি বর্ণনায় উল্লিখিত তিনটি প্রধান কাজের একটি সম্পাদন করে এমন কোনও ফাংশন ব্যবহার করতে পারবেন না। উদাহরণস্বরূপ, আপনি একটি
blur
ফাংশন ব্যবহার করতে পারবেন না , তবে একটিgetPixel
ফাংশন ভাল।এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী!
dx <= n && dy <= n
ম্যানহাটনের দূরত্বের সঠিক প্রতিনিধিত্ব, তাই না?