আইকনগুলির জন্য মাইপম্যাপ অঙ্কনযোগ্য


449

অ্যান্ড্রয়েড ৪.৩ (জেলি বিন) যেহেতু আমরা এখন res/mipmap"এমপম্যাপ" চিত্রগুলি সঞ্চয় করতে ফোল্ডারগুলি ব্যবহার করতে পারি ।

উদাহরণস্বরূপ, অ্যান্ড্রয়েডের জন্য ক্রোম আরও সাধারণ res/drawableফোল্ডারের পরিবর্তে এই আইকনগুলিকে এই ফোল্ডারে সঞ্চয় করে ।

এই মিপম্যাপ চিত্রগুলি কীভাবে অন্যান্য পরিচিত অঙ্কনযোগ্য চিত্রগুলির চেয়ে আলাদা?

আমি দেখতে পাচ্ছি যে আমার প্রকাশ্যে আমরা @mipmap/কোয়ালিফায়ারটি পরিবর্তে ব্যবহার করি @drawable/, যা রিসোর্স ফোল্ডারের নাম দিয়ে বোঝায়:

<activity
    android:name=".MipmapDemp"
    android:icon="@mipmap/ic_launcher" />

তথ্যসূত্র:

অ্যান্ড্রয়েড 4.3 API গুলি ডকুমেন্ট নিম্নলিখিত বলার আছে:

আপনার বিটম্যাপ বা অঙ্কনযোগ্য হিসাবে উত্স হিসাবে একটি মাইপম্যাপ ব্যবহার করা একটি মানসম্পন্ন চিত্র এবং বিভিন্ন চিত্র স্কেল সরবরাহ করার একটি সহজ উপায়, যা আপনি যদি অ্যানিমেশন চলাকালীন আপনার চিত্রটি পরিমাপ করার প্রত্যাশা করেন তবে বিশেষভাবে কার্যকর।

অ্যান্ড্রয়েড 2.২ (এপিআই লেভেল ১)) বিটম্যাপ ক্লাসে মিপম্যাপগুলির জন্য সমর্থন যুক্ত করেছে you've আপনি যখন কোনও মিপম্যাপ উত্স সরবরাহ করেছেন এবং সেটহ্যাসম্যাপম্যাপ () সক্ষম করেছেন তখন অ্যান্ড্রয়েড আপনার বিটম্যাপে এমআইপি চিত্রগুলিকে অদলবদল করে। এখন অ্যান্ড্রয়েড ৪.৩-তে, আপনি একটি বিটম্যাপড্র্যাবলযোগ্য অবজেক্টের জন্যও মিপম্যাপ সক্ষম করতে পারবেন, একটি মিপম্যাপ সম্পদ সরবরাহ করে এবং অ্যান্ড্রয়েড: মিপম্যাপ অ্যাট্রিবিউটটি বিটম্যাপ রিসোর্স ফাইলে সেট করে বা হ্যাসম্যাপ () কল করে।

আমি সেখানে এমন কিছু দেখতে পাচ্ছি না যা আমাকে বুঝতে সাহায্য করে।


এক্সএমএল বিটম্যাপ সংস্থানগুলির একটি android:mipMapসম্পত্তি রয়েছে:

বুলিয়ান। মিপম্যাপ ইঙ্গিত সক্ষম বা অক্ষম করে। আরও তথ্যের জন্য setHasMipMap () দেখুন। ডিফল্ট মানটি মিথ্যা।

আমি যতদূর দেখতে পাচ্ছি লঞ্চার আইকনগুলিতে এটি প্রযোজ্য নয়।


গুগল গ্রুপগুলিতে ( উত্সের নাম "মাইপম্যাপ" এর উদ্দেশ্য ?! ) প্রশ্নটি উত্থাপিত হয়েছিল , যার প্রতি রোমেন গাই উত্তর দিয়েছেন:

বৃহত্তর রেজোলিউশনে এমন একটি চিত্র সরবরাহ করা দরকারী যা সাধারণত গণনা করা হয় (উদাহরণস্বরূপ, একটি এমডিপিআই ডিভাইসে, লঞ্চার বৃহত্তর অ্যাপ্লিকেশন শর্টকাট প্রদর্শন করতে বৃহত্তর এইচডিপিআই আইকনটি চাইবে))

আমি এটি প্রায় এটি উপলব্ধি করে মনে হয়, কিন্তু বেশ না।

আমি এখনও রেন্ডি সুগিয়ান্তোর ফলোআপ নিয়ে যেতে আগ্রহী:

এর সুবিধা কী? সম্ভবত আরও ভাল লঞ্চার আইকনগুলির জন্য এমপম্যাপগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে কোনও গাইড আছে?


অবশ্যই, উইকিপিডিয়ায় "মিপম্যাপ" এর জন্য একটি পৃষ্ঠা রয়েছে , যা 1983 সালে উদ্ভাবিত একটি পুরানো কৌশলকে বোঝায় যে আমি বর্তমান অ্যান্ড্রয়েড বাস্তবায়নের সাথে মোটামুটি সম্পর্ক রাখতে পারি না।


আজকাল আমাদের ফোল্ডারে আমাদের সমস্ত অ্যাপ্লিকেশন আইকনres/mipmap সংরক্ষণ করা উচিত এবং এই এমপম্যাপ চিত্রগুলির জন্য গাইডলাইনগুলি কী ?


আপডেট # 1

এখানে একটি ব্লগ পোস্ট যা এটি কিছুটা ব্যাখ্যা করার চেষ্টা করে।

তবে সেই ব্লগ পোস্টে ব্যবহৃত চিত্রটি দেখায় যা এতে অনেক লোগো সহ একটি ফাইলের মতো দেখাচ্ছে। আমি ক্রোমের মিপম্যাপ ফোল্ডারে যা দেখছি তা নয়।

ক্রোমের mipmap-hdpiফোল্ডারে তিনটি চিত্র রয়েছে। একটি হ'ল ক্রোম লোগো its

Chrome mipmap-hdpi icon.png

আশ্চর্যের সাথে, এটি 72x72, 48x48 নয় যা আমি দেখতে আশা করব।

সম্ভবত এটির মধ্যে যা আছে - আমাদের কেবলমাত্র মিপম্যাপ ফোল্ডারে বড় আইকন রাখা দরকার?


আপডেট # 2

২৩/১০/২০১৪ এর অ্যান্ড্রয়েড বিকাশকারী ব্লগ পোস্ট আবার mipmapঅ্যাপ্লিকেশন আইকনগুলির জন্য ফোল্ডারগুলি ব্যবহার করার ধারণাটিকে নিশ্চিত করে :

নেক্সাস 6 স্ক্রিনের ঘনত্ব সম্পর্কে কথা বলার সময় লেখক লিখেছেন:

আপনার অ্যাপ্লিকেশন আইকনগুলি মাইপম্যাপ - ফোল্ডারে (অঙ্কনযোগ্য-ফোল্ডার নয়) এ রাখাই সেরা অনুশীলন কারণ সেগুলি ডিভাইসের বর্তমান ঘনত্ব থেকে পৃথক রেজোলিউশনে ব্যবহৃত হয়। উদাহরণস্বরূপ, xxhdpi ডিভাইসের জন্য একটি এক্সএক্সএক্সএইচডিপি অ্যাপ্লিকেশন আইকন লঞ্চারটিতে ব্যবহার করা যেতে পারে।


আপডেট # 3

নোট করুন যে, অ্যাল্রয়েড স্টুডিওগুলি ফোল্ডারে ic_launcher.pngআইকনগুলি তৈরি করে যা ফলজগুলি সেগুলিতে তৈরি করতে ব্যবহৃত ফোল্ডারগুলির mipmap...চেয়ে নয় drawable...


উত্তর:


260

মিপম্যাপের দুটি স্বতন্ত্র ব্যবহার রয়েছে:

  1. ঘনত্বের নির্দিষ্ট APKগুলি তৈরি করার সময় লঞ্চার আইকনগুলির জন্য। কিছু বিকাশকারীগণ APK এর আকার কম রাখার জন্য প্রতিটি ঘনত্বের জন্য পৃথক APK তৈরি করে। তবে কিছু লঞ্চার (কিছু ডিভাইস সহ প্রেরণ করা, বা প্লে স্টোরে উপলভ্য) স্ট্যান্ডার্ড 48dp এর চেয়ে বড় আইকন মাপ ব্যবহার করে। লঞ্চারগুলি getDrawableForDensity ব্যবহার করে এবং প্রয়োজনে স্কেল ডাউন প্রয়োজনের চেয়ে, তাই আইকনগুলি উচ্চমানের quality উদাহরণস্বরূপ, এইচডিপিআই ট্যাবলেটে লঞ্চারটি এক্সএইচডিপি আইকনটি লোড করতে পারে। আপনার প্রবর্তক আইকনটি মিপম্যাপ-এক্সএইচডিপি ডিরেক্টরিতে রেখে, এইচডিপিআই ডিভাইসগুলির জন্য একটি এপিপি তৈরি করার সময় এটি কোনও অঙ্কনযোগ্য-এক্সএইচডিপি ডিরেক্টরি হয় না। আপনি যদি সমস্ত ডিভাইসের জন্য একটি একক APK বানাচ্ছেন, তবে লঞ্চটি পছন্দসই ঘনত্বের জন্য অঙ্কনযোগ্য উত্সগুলিতে অ্যাক্সেস করতে পারে বলে এটি আসলেই গুরুত্বপূর্ণ নয়।

  2. ৪.৩ থেকে আসল মিপম্যাপ এপিআই। আমি এটি ব্যবহার করি নি এবং এর সাথে পরিচিতও নই। এটি অ্যান্ড্রয়েড ওপেন সোর্স প্রকল্প লঞ্চগুলি ব্যবহার করে না এবং আমি অন্য কোনও লঞ্চার ব্যবহার করে সচেতন নই।


2
সুতরাং আপনি এমন একটি বিল্ড স্ক্রিপ্টের পরামর্শ দিচ্ছেন যা মিপম্যাপ সংস্থান ব্যতীত অন্য সকলের জন্য সঠিক ঘনত্ব ফোল্ডারগুলিকে বাদ দেয়, যদি আমি সঠিকভাবে বুঝতে পারি?
রিচার্ড লে ম্যাসুরিয়ার

20
আমি সমস্ত ঘনত্বের জন্য কেবল একটি APK বানাতে পরামর্শ দেব এবং এটি সম্পর্কে চিন্তা করবেন না। তবে হ্যাঁ, কখনও কখনও লঞ্চের আইকনগুলির জন্য মিপম্যাপ ডিরেক্টরিগুলি ব্যবহার করার কারণ হ'ল বিল্ড স্ক্রিপ্টগুলি (aapt - preferred-configurations) স্ট্রাইপিং-{ঘনত্ব} ডিরেক্টরিগুলি তবে মাইপম্যাপ {ঘনত্ব} ডিরেক্টরিগুলি নয়। এটা প্রায় একটি বাগ শোষণ মত মনে হয়, কিন্তু এ রোমাঁ গায় ও ডায়ান Hackborn এর পোস্ট থেকে আপনার কোটার plus.google.com/105051985738280261832/posts/QTA9McYan1L শো এটা নকশা করা।
কেভিন টেসলা কোয়েল

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

ডকুমেন্টেশনে এটি বলে: "মিপম্যাপ: বিভিন্ন লঞ্চার আইকন ঘনত্বের জন্য ড্রয়যোগ্য ফাইল" " developer.android.com/guide/topics/resources/…
ক্রিয়াকলাপ

79

মনে হচ্ছে গুগল এই সমস্ত উত্তরগুলির পরে তাদের ডক্স আপডেট করেছে , সুতরাং আশা করি এটি ভবিষ্যতে অন্য কাউকে সহায়তা করবে :) একটি নতুন (নতুন নতুন) প্রকল্প তৈরি করার সময় আমি নিজেই এই প্রশ্নটি নিয়ে এসেছি।

টিএল; ডিআর: ড্রপিযোগ্যরা ডিপি-নির্দিষ্ট সম্পদ অপ্টিমাইজেশনের অংশ হিসাবে ছিটকে যেতে পারে। মাইপম্যাপগুলি ছিনিয়ে নেওয়া হবে না।

বিভিন্ন ডিভাইসে বিভিন্ন হোম স্ক্রীন লঞ্চার অ্যাপ্লিকেশনগুলি বিভিন্ন রেজোলিউশনে অ্যাপ্লিকেশন লঞ্চার আইকনগুলি দেখায়। অ্যাপ্লিকেশন রিসোর্স অপ্টিমাইজেশান কৌশলগুলি যখন অব্যবহৃত স্ক্রিন ঘনত্বের জন্য সংস্থানগুলি সরিয়ে দেয়, তখন লঞ্চার আইকনগুলি ম্লান হয়ে দেখতে পারে কারণ লঞ্চার অ্যাপ্লিকেশনটি প্রদর্শনের জন্য একটি নিম্ন-রেজোলিউশন আইকনকে উপড়ে ফেলতে হবে। এই প্রদর্শনের সমস্যাগুলি এড়াতে, অ্যাপ্লিকেশনগুলিকে mipmap/লঞ্চার আইকনগুলির জন্য উত্স ফোল্ডার ব্যবহার করা উচিত । অ্যান্ড্রয়েড সিস্টেম ঘনত্ব স্ট্রিপিং নির্বিশেষে এই সংস্থানগুলি সংরক্ষণ করে এবং লঞ্চার অ্যাপ্লিকেশনগুলি প্রদর্শনের জন্য সেরা রেজোলিউশন সহ আইকনগুলি চয়ন করতে পারে তা নিশ্চিত করে।

( http://developer.android.com/tools/projects/index.html#mipmap থেকে )


2
চিত্রের সম্পদ আমদানি করার সময় এটি অ্যান্ড্রয়েড স্টুডিওর ডিফল্ট প্লেসমেন্টের সাথে সামঞ্জস্যপূর্ণ। লঞ্চার আইকনগুলি মিপম্যাপে যায়; অন্যরা আঁকতে যায়।
এডওয়ার্ড ব্রে

2
ডকুমেন্টেশনটি আবার পরিবর্তিত হয়েছে বলে মনে হচ্ছে, মাইপম্যাপটি বিকাশকারীদের মধ্যে উপস্থিত নেই বলে মনে হয় and android.com/tools/projects/index.html (অ্যান্ড্রয়েড ডকুমেন্টেশনের অন্যান্য বিট সত্ত্বেও এটি রেফারেন্স করার চেষ্টা করছে)।
11

28

এই মিপম্যাপ চিত্রগুলি কীভাবে অন্যান্য পরিচিত অঙ্কনযোগ্য চিত্রগুলির চেয়ে আলাদা?

পার্থক্যটি ব্যাখ্যা করার চেষ্টা করার জন্য আমার দুটি সেন্ট এখানে। অ্যান্ড্রয়েডে চিত্রগুলির সাথে কাজ করার ক্ষেত্রে দুটি ক্ষেত্রেই আপনি মোকাবিলা করেছেন:

  1. আপনি নিজের ডিভাইসের ঘনত্বের জন্য একটি চিত্র লোড করতে চান এবং আপনি এর আসল আকার পরিবর্তন না করেই এটি "যেমন রয়েছে" ব্যবহার করতে যাচ্ছেন । এক্ষেত্রে আপনার ড্রয়যোগ্যদের সাথে কাজ করা উচিত এবং অ্যান্ড্রয়েড আপনাকে সেরা ফিটিং চিত্র দেবে।

  2. আপনি আপনার ডিভাইসের ঘনত্বের জন্য একটি চিত্র লোড করতে চান, তবে এই চিত্রটি নীচে বা নীচে ছোট করা হবে । উদাহরণস্বরূপ এটি প্রয়োজন যখন আপনি একটি বড় লঞ্চার আইকনটি দেখাতে চান বা আপনার একটি অ্যানিমেশন রয়েছে যা চিত্রের আকার বাড়ে। এই জাতীয় ক্ষেত্রে, সর্বোত্তম চিত্রের গুণগত মান নিশ্চিত করতে আপনার চিত্রটি এমপম্যাপ ফোল্ডারে রাখা উচিত । অ্যান্ড্রয়েড যা করবে তা হ'ল, এটি চিত্রটি স্কেলিংয়ের পরিবর্তে উচ্চ ঘনত্বের বালতি থেকে চিত্রটি তুলে নেওয়ার চেষ্টা করবে। এটি চিত্রের তীক্ষ্ণতা (গুণমান) বৃদ্ধি করবে।

সুতরাং, আপনার চিত্রটি কোথায় রাখবেন তা সিদ্ধান্ত নেওয়ার জন্য থাম্বের নিয়ম হবে:

  • লঞ্চার আইকনগুলি সর্বদা মিপম্যাপ ফোল্ডারে যায়।
  • যে চিত্রগুলি প্রায়শই ছোট করে দেওয়া হয় (বা চূড়ান্তভাবে ছোট করে দেওয়া হয়) এবং অ্যাপটির জন্য যার গুণমান সমালোচনা করা হয় সেগুলি মিপম্যাপ ফোল্ডারেও যায়।
  • অন্যান্য সব ছবি চলিত হয় অঙ্কনযোগ্য

সুতরাং অ্যাকশন বারের জন্য আইকনগুলি বা ভাসমান বোতামের আইকনটি মাইপম্যাপে চলে যায়?
জুয়ান দে লা ক্রুজ

না, এগুলি স্বাভাবিক আঁকতে সক্ষম ables
সার্জেজ শফেরেঙ্কা

23

৪.৩-তে মিপম্যাপগুলির অ্যান্ড্রয়েড বাস্তবায়ন ১৯৮৩ সালের উইকিপিডিয়া নিবন্ধে ব্যাখ্যা করা ঠিক একই কৌশল :)

মিপম্যাপ সেটের প্রতিটি বিটম্যাপ চিত্রটি মূল টেক্সচারের একটি ডাউন সাইজড নকল, তবে বিশদের একটি নির্দিষ্ট হ্রাস স্তরে। যদিও ভিউটি পুরো বিশদভাবে রেন্ডার করার জন্য যথেষ্ট হবে ততক্ষণ মূল টেক্সচারটি ব্যবহার করা হবে, যখন টেক্সটটি দূর থেকে বা ছোট আকারে দেখানো হবে তখন রেন্ডারার উপযুক্ত মাইপম্যাপ ইমেজ (...) এ স্যুইচ করবে।

যদিও এটি 3 ডি গ্রাফিক্সের কৌশল হিসাবে বর্ণনা করা হয়েছে (যেমন এটি "দূর থেকে দেখানো" হিসাবে উল্লেখ করা হয়েছে), এটি ঠিক 2 ডি তেও প্রযোজ্য ("অঙ্কিত একটি ছোট স্থান", অর্থাত "ডাউনস্ল্যাড" হিসাবে অনুবাদ করা)।

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

তবে আপনি একটি মিপম্যাপ সরবরাহ করতে পারেন যার অর্থ চিত্রটি ইতিমধ্যে কয়েকটি নির্দিষ্ট স্কেলের জন্য প্রাক-রেন্ডার করা হয়েছে (আসুন 1.0, 0.5 এবং 0.25 বলি)। অ্যানিমেশনটি যখনই 0.5 টি প্রান্তকে "অতিক্রম" করে, মূল, 1.0-আকারের চিত্রটি ডাউনস্কেল করার পরিবর্তে, এটি 0.5 টি চিত্রটিতে স্যুইচ করবে এবং এটি ডাউনস্কেল করবে, এটি আরও ভাল ফলাফল প্রদান করবে। অ্যানিমেশন চলতে থাকে এবং তাই এগিয়ে।

এটি কিছুটা তাত্ত্বিক, যেহেতু এটি আসলে রেন্ডারার দ্বারা সম্পন্ন হয়েছে। বিটম্যাপ শ্রেণীর উত্স অনুসারে, এটি কেবল একটি ইঙ্গিত, এবং সরবরাহকারী এটি সম্মান করতে পারে বা নাও পারে।

/**
 * Set a hint for the renderer responsible for drawing this bitmap
 * indicating that it should attempt to use mipmaps when this bitmap
 * is drawn scaled down.
 *
 * If you know that you are going to draw this bitmap at less than
 * 50% of its original size, you may be able to obtain a higher
 * quality by turning this property on.
 * 
 * Note that if the renderer respects this hint it might have to
 * allocate extra memory to hold the mipmap levels for this bitmap.
 *
 * This property is only a suggestion that can be ignored by the
 * renderer. It is not guaranteed to have any effect.
 *
 * @param hasMipMap indicates whether the renderer should attempt
 *                  to use mipmaps
 *
 * @see #hasMipMap()
 */
public final void setHasMipMap(boolean hasMipMap) {
    nativeSetHasMipMap(mNativeBitmap, hasMipMap);
}

যদিও এটি বিশেষভাবে অ্যাপ্লিকেশন আইকনগুলির জন্য উপযুক্ত হবে তবে আমি নিশ্চিত নই। যদিও ট্যাবলেটগুলিতে অ্যান্ড্রয়েড, পাশাপাশি কিছু লঞ্চার (যেমন জিইএল) একটি আইকনটিকে এটি আরও বড় করে দেখানোর জন্য "একটি ঘনত্বের উচ্চতর" অনুরোধ করে, এটি নিয়মিত প্রক্রিয়া (যেমন drawable-xxxhdpi, & সি) ব্যবহার করে সম্পন্ন করার কথা ।


এটি drawableফোল্ডারগুলির মধ্যে পার্থক্যটি সত্যই ব্যাখ্যা করে না যা মাইপম্যাপযুক্ত চিত্রগুলিও ধারণ করে।
টিম্ম্ম্ম

2
আসলে, এই উত্তরটি সহজ ভুল plain শুধুমাত্র পার্থক্য কিনা ফাইল বা ছিনতাই করা হয় না - এটা হোক বা না হোক mipmapping ব্যবহার করা হয় (এটা উভয় ক্ষেত্রেই হয়) সঙ্গে কিছুই করার আছে। ফোল্ডারটির নাম খারাপভাবে করা হয়; তাদের সম্ভবত এটি drawable-nostripবা কিছু বলা উচিত ছিল ।
টিম্ম্ম্ম

2
মিপম্যাপগুলি সম্পর্কে দুর্দান্ত ব্যাখ্যা, তবে গুগল ডক এন্ট্রি সম্পর্কে কাজুয়াকির উত্তর উল্লেখ করে বোঝা যাচ্ছে যে এটি আসলে কারণ নয়।
ট্রিলারিয়ন

11

আমি অন্য থ্রেডে একটি জিনিস উল্লেখ করেছি যা উল্লেখযোগ্য - আপনি যদি বিভিন্ন ঘনত্বের জন্য আপনার অ্যাপের বিভিন্ন সংস্করণ তৈরি করে থাকেন তবে আপনার "মিপম্যাপ" রিসোর্স ডিরেক্টরিটি সম্পর্কে জানতে হবে। এটি হ'ল "অঙ্কনযোগ্য" সংস্থানগুলির মতো, ভিন্ন ভিন্ন এপিके টার্গেট তৈরি করার সময় এটি ঘনত্ব স্ট্রিপিংয়ে অংশ নেয় না except

https://plus.google.com/105051985738280261832/posts/QTA9McYan1L


... হ্যাঁ সত্যিই, যেমন কেভিন দ্বারা গৃহীত উত্তরে উল্লিখিত হয়েছে। এটিই এর পেছনের মূল কারণ বলে মনে হয়।
রিচার্ড লে ম্যাসুরিয়ার 17'15

@ রিচার্ডলিমেসুরিয়ার হ্যাঁ, কেবল এটি সংক্ষিপ্ত এবং পরিষ্কার করার জন্য
ক্রেকার

4

যেহেতু বিজ্ঞপ্তি আইকনগুলির জন্য সঠিক প্রকারটি নির্ধারণ করার জন্য আমি এর একটি স্পষ্ট করার উত্তরের সন্ধান করছিলাম, তাই আমি এই স্পষ্ট বিবৃতিটি বিষয়টিতে যুক্ত করতে চাই। এটি http://developer.android.com/tools/help/image-asset-studio.html#s बचत থেকে এসেছে

দ্রষ্টব্য: লঞ্চার আইকন ফাইলগুলি অন্য আইকনগুলির থেকে পৃথক স্থানে থাকে। তারা মিপম্যাপ / ফোল্ডারে অবস্থিত। অন্যান্য সমস্ত আইকন ফাইলগুলি আপনার প্রকল্পের অঙ্কনযোগ্য / ফোল্ডারে থাকে


2

বিভিন্ন ঘনত্বের জন্য পৃথক অ্যাপ্লিকেশন তৈরি করার সময়, অন্যান্য ঘনত্বের জন্য অঙ্কনযোগ্য ফোল্ডারগুলি ছিঁড়ে যায়। এটি আইকনগুলিকে এমন ডিভাইসে ঝাপসা দেখা দেবে যা উচ্চ ঘনত্বের লঞ্চার আইকন ব্যবহার করে। যেহেতু, মাইপম্যাপ ফোল্ডারগুলি ছিঁড়ে যায় না, লঞ্চ আইকন অন্তর্ভুক্ত করার জন্য এগুলি ব্যবহার করা সর্বদা সেরা।


2

অ্যান্ড্রয়েডে চিত্রগুলির সাথে কাজ করার ক্ষেত্রে দুটি ক্ষেত্রেই আপনি মোকাবিলা করেছেন:

  1. আপনি আপনার ডিভাইসের ঘনত্বের জন্য একটি চিত্র লোড করতে চান এবং আপনি এর আসল আকার পরিবর্তন না করেই এটি "যেমন রয়েছে" ব্যবহার করতে যাচ্ছেন। এক্ষেত্রে আপনার ড্রয়যোগ্যদের সাথে কাজ করা উচিত এবং অ্যান্ড্রয়েড আপনাকে সেরা ফিটিং চিত্র দেবে।
  2. আপনি আপনার ডিভাইসের ঘনত্বের জন্য একটি চিত্র লোড করতে চান, তবে এই চিত্রটি নীচে বা নীচে ছোট করা হবে। উদাহরণস্বরূপ এটি প্রয়োজন যখন আপনি একটি বড় লঞ্চার আইকনটি দেখাতে চান বা আপনার একটি অ্যানিমেশন রয়েছে যা চিত্রের আকার বাড়ে। এই ধরনের ক্ষেত্রে, সর্বোত্তম চিত্রের গুণগত মান নিশ্চিত করতে আপনার নিজের ছবিটি এমপম্যাপ ফোল্ডারে রাখা উচিত। অ্যান্ড্রয়েড যা করবে তা হ'ল, এটি চিত্রটি স্কেলিংয়ের পরিবর্তে উচ্চ ঘনত্বের বালতি থেকে চিত্রটি তুলে নেওয়ার চেষ্টা করবে।

তাই

সুতরাং, আপনার চিত্রটি কোথায় রাখবেন তা সিদ্ধান্ত নেওয়ার জন্য থাম্বের নিয়ম হবে:

  1. লঞ্চার আইকনগুলি সর্বদা মিপম্যাপ ফোল্ডারে যায়।

  2. যে চিত্রগুলি প্রায়শই ছোট করে দেওয়া হয় (বা চূড়ান্তভাবে কমিয়ে দেওয়া হয়) এবং অ্যাপটির জন্য যার গুণমান সমালোচনা করা হয় সেগুলি মিপম্যাপ ফোল্ডারেও যায়।

  3. অন্যান্য সমস্ত চিত্রগুলি যথোপযুক্ত ড্রয়যোগ্য।

এই নিবন্ধ থেকে উদ্ধৃতি ।


1
res/
mipmap-mdpi/ic_launcher.png (48x48 pixels)
mipmap-hdpi/ic_launcher.png (72x72)
mipmap-xhdpi/ic_launcher.png (96x96)
mipmap-xxhdpi/ic_launcher.png (144x144)
mipmap-xxxhdpi/ic_launcher.png (192x192)

লঞ্চারের জন্য অ্যাপ্লিকেশন আইকনটির জন্য মাইপম্যাপ

http://android-developers.blogspot.co.uk/2014/10/getting-your-apps-ready-for-nexus-6-and.html

https://androidbycode.wordpress.com/2015/02/14/goodbye-launcher-drawables-hello-mipmaps/


দ্বিতীয় ব্লগ পোস্টের জন্য ধন্যবাদ! এটি সত্যিই ভাল drawable-XXXএবং mipmap-XXXফোল্ডারগুলির ব্যবহারের মধ্যে পার্থক্যটি স্পষ্ট করে : লঞ্চার আইকনটি অন্য সংস্থানগুলির থেকে আলাদা কারণ এটি সম্ভব যে ব্যবহারকারী লঞ্চারে একটি উচ্চতর রেজোলিউশন আইকন প্রদর্শিত হয়। যদি সেই উচ্চতর রেজোলিউশন চিত্রটি আপনার অঙ্কনযোগ্য ফোল্ডার থেকে ছিনিয়ে নেওয়া হয়েছে, তবে একটি নিম্ন ঘনত্বের আইকনটি প্রোগ্রামিকভাবে আপ-স্কেল হবে। এটি একটি অপ্রচলিত ঝাপসা আইকনের কারণ হতে পারে।
উইঙ্কলারr

অঙ্কনযোগ্য ফোল্ডারগুলিতে নেক্সাস পি 6 লঞ্চ আইকনে অন্তত অ্যান্ড্রয়েড 8.1 এ স্কেল আপ করা যায় না। আসলে মোটেই খুঁজে পাওয়া যায় নি এবং অ্যাপটি খোলার সময় ক্র্যাশ হয়ে গেছে।
ম্যাথেজ

1

আপনি যদি এইচডিপিআই এর মতো টার্গেট স্ক্রিন রেজোলিউশনের জন্য একটি APK বানাতে থাকেন তবে অ্যান্ড্রয়েড অ্যাসেট প্যাকেজিং সরঞ্জাম, এএপিটি আপনার অন্য প্রয়োজনীয় রেজোলিউশনের জন্য আঁকতে সক্ষম করতে পারে ut তবে এটি যদি মাইপম্যাপ ফোল্ডারে থাকে তবে এই সম্পদগুলি এখানে থাকবে APK এর লক্ষ্য নির্ধারণ নির্বিশেষে।


-1

মিপম্যাপ সম্পর্কে আমার যে বুঝতে হবে তা কমবেশি এর মতো:

যখন কোনও চিত্র আঁকার দরকার হয় তখন আমাদের বিভিন্ন স্ক্রিনের আকারগুলি মীমাংসিত হয়, কিছু স্কেলিংয়ের অংশ নিতে হবে take

আপনার যদি এমন চিত্র থাকে যা নিম্ন প্রান্তের সেল ফোনের জন্য ঠিক আছে, আপনি যখন এটি একটি 10 ​​"ট্যাবলেট আকারে স্কেল করেন তখন আপনাকে পিক্সেলগুলি" আবিষ্কার "করতে হবে যা প্রকৃতপক্ষে নেই This এটি কিছু সংক্ষেপণ অ্যালগরিদম দিয়ে করা হয় The আরও বেশি পরিমাণে পিক্সেল উদ্ভাবন করতে হবে, প্রক্রিয়াটি যত বেশি সময় নেয় এবং গুণমান ব্যর্থ হতে শুরু করে Best সর্বোত্তম গুণটি আরও জটিল অ্যালগরিদমের সাথে প্রাপ্ত হয় যা বেশি সময় নেয় (উদাহরণস্বরূপ নিকটস্থ পিক্সেলের অনুলিপি প্রায় পিক্সেল বনাম) quality

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

আমি ইমেজ স্কেল করার সময় libgdx এর পারফরম্যান্স সমস্যা ব্যাখ্যা করে একটি নিবন্ধে এই সম্পর্কে পড়লাম:

http://www.badlogicgames.com/wordpress/?p=1403

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