কিউইমেজ এবং কিউপিক্সম্যাপের মধ্যে পার্থক্য কী?


85

আমি বুঝতে পারি না কিউআইএমেজ এবং কিউপিক্সম্যাপের মধ্যে পার্থক্য কী, তারা একই কার্যকারিতা সরবরাহ করে বলে মনে হচ্ছে। কখন আমার একটি QImage ব্যবহার করা উচিত এবং কখন আমার QPixmap ব্যবহার করা উচিত?


আমি আপনার প্রশ্নটি বুঝতে পেরেছি কিনা তা নিশ্চিত নই, তবে আমি ভেবেছিলাম ডকুমেন্টেশনে এটি বেশ পরিষ্কার ছিল: "কিউআইগ্যাস আই / ও এর জন্য এবং সরাসরি পিক্সেল অ্যাক্সেস এবং ম্যানিপুলেশনের জন্য ডিজাইন ও অপ্টিমাইজড, যখন কিউপিক্সম্যাপটি চিত্রগুলি দেখানোর জন্য নকশা করা হয়েছে এবং অনুকূলিত হয়েছে পর্দায়." doc.qt.nokia.com/latest/qpixmap.html# বিবরণ
সিজিএমবি

4
হ্যাঁ! আমি এটি খুঁজে পেয়েছি, তবে ভাল বুঝতে পারছি না, উদাহরণস্বরূপ, I / O এর জন্য অনুকূলিত এবং প্রদর্শন করার জন্য অনুকূলিত, এটি একটি পার্থক্য কী পার্থক্য প্ল্যাটফর্মে একটি পিকুত্র দেখিয়েছিল? ..আপনি আমাকে ব্যাখ্যা করার জন্য একটি পদক্ষেপ নিতে সহায়তা করতে পারেন .. ধন্যবাদ ..
মিঃ টু

আমি এখনও 100% নিশ্চিত নই যে আপনি কী বলতে চাইছেন তা আমি জানি তবে আপনি যদি কিউউজেটস ব্যবহার করছেন তবে আপনি এটিকে একটি কিউবেবেলে প্রদর্শন করতে পারেন। আপনি যদি কিউগ্রাফিক্সভিউ ব্যবহার করছেন তবে আপনি এটি একটি কিউগ্রাফিক্সপিক্সাম্যাপটাইমে প্রদর্শন করতে পারেন। আপনি কিউএমএল ব্যবহার করলে চিত্র উপাদানটি আপনার জন্য সমস্ত কিছু পরিচালনা করবে।
cgmb

আমি এটি অন্যভাবে রাখি, ইঞ্জিন কী, এর কাজ কী? কখন এটি ব্যবহার করবেন?
মিঃটু

উত্তর:


55

ইজিলি কিউইমেজ এবং কিউপিক্সম্যাপে ডক্সগুলি পড়ে উত্তর দিয়েছিল :

QPixmap বর্গ একটি হল অফ-স্ক্রিন ইমেজ প্রতিনিধিত্ব করে এমন একটি পেইন্ট ডিভাইস হিসাবে ব্যবহার করা যাবে।

QImage বর্গ একটি হার্ডওয়্যার স্বাধীন ইমেজ প্রতিনিধিত্ব করে পিক্সেল তথ্য থেকে সরাসরি প্রবেশাধিকার অনুমতি দেয়, এবং একটি পেইন্ট ডিভাইস হিসাবে ব্যবহার করা যেতে পারে প্রদান করে।

সম্পাদনা: এছাড়াও, @ ডেভের উত্তর থেকে:

আপনি জিইউআই-থ্রেডের বাইরে কোনও কিউপিক্সম্যাপ ম্যানিপুলেট করতে পারবেন না, তবে কিউআইমেজ এর তেমন কোনও বিধিনিষেধ নেই।

এবং @ আর্নল্ড থেকে:

এখানে একটি সংক্ষিপ্ত সারাংশ দেওয়া হয় যা সাধারণত (সর্বদা নয়) প্রয়োগ হয়:

  • আপনি যদি কোনও চিত্র ম্যানিপুলেট করার পরিকল্পনা করেন, এটি পরিবর্তন করুন, এটিতে পিক্সেল পরিবর্তন করুন ইত্যাদি, কিউইমেজ ব্যবহার করুন।
  • যদি আপনি একই চিত্রটি স্ক্রিনে একাধিকবার আঁকার পরিকল্পনা করেন তবে এটিকে QPixmap এ রূপান্তর করুন।

আপনার সহায়তার জন্য ধন্যবাদ ... কিউপিক্সম্পা এবং কিউইমেজ একটি ছবি লোড করার সাধারণ প্রক্রিয়াটি কী .. এটি স্মৃতিতে কী আছে .. আপনাকে ধন্যবাদ ..
মিঃ টিউ

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

16
এটি কি সত্যিই কিছু উত্তর দেয়?
semisecure

7
কেবলমাত্র ডকুমেন্টেশন এবং অন্যের উত্তরগুলি অনুলিপি করা কোনও অর্থ নয়।
ভাইচেস্লাভ ক্রিলভ

48

কিউটি ল্যাবগুলিতে একটি দুর্দান্ত সিরিজ নিবন্ধ রয়েছে যা কিউটি গ্রাফিক্স সিস্টেম সম্পর্কে অনেক কিছু ব্যাখ্যা করে। এই নিবন্ধটি বিশেষত QImageবনাম সম্পর্কিত একটি বিভাগ রয়েছে QPixmap

এখানে একটি সংক্ষিপ্ত সারাংশ দেওয়া হয় যা সাধারণত (সর্বদা নয়) প্রয়োগ হয়:

  • আপনি যদি কোনও চিত্র ম্যানিপুলেট করার পরিকল্পনা করেন, এটি পরিবর্তন করুন, এটিতে পিক্সেল পরিবর্তন করুন ইত্যাদি, ব্যবহার করুন QImage
  • যদি আপনি একই চিত্রটি স্ক্রিনে একাধিকবার আঁকার পরিকল্পনা করেন, তবে এটিকে রূপান্তর করুন QPixmap

ধন্যবাদ. এই উত্তরণটি আমাদের জানান: একটি ছবি লোড করার জন্য দুটি ভিন্ন উপায় আছে, রাস্টার এবং ওপেনজিএল? সঠিক?
মিঃ টু

আমি প্রশ্নটি বেশ বুঝতে পারি না। "রাস্টার" বা "ওপেনজিএল" বিশেষত কোনও ছবি লোড করার উপায়গুলি উপস্থাপন করে না।
আর্নল্ড স্পেন্স

37

একটি গুরুত্বপূর্ণ পার্থক্য হ'ল আপনি QPixmapপ্রধান জিইউআই থ্রেড ব্যতীত অন্য কোনও কিছুই তৈরি বা পরিচালনা করতে পারবেন না । আপনি যাইহোক, QImageপটভূমির থ্রেডগুলিতে উদাহরণ তৈরি করতে এবং তা পরিচালনা করতে পারেন এবং তারপরে GUI থ্রেডে ফেরার পরে সেগুলি রূপান্তর করতে পারেন।


22

শিল্প পরিবেশে গুরুত্বপূর্ণ:

কিউপিক্সম্যাপটি ভিডিও কার্ডে প্রদর্শন করা হয়। কিউমাজ নয়।

সুতরাং আপনার যদি অ্যাপ্লিকেশনটি চালিত কোনও সার্ভার এবং কোনও ক্লায়েন্ট স্টেশন প্রদর্শন করে থাকে তবে নেটওয়ার্ক ব্যবহারের ক্ষেত্রে এটি অত্যন্ত তাৎপর্যপূর্ণ।

পিক্সাম্যাপের সাহায্যে, একটি রেড্রাও কেবলমাত্র নেটওয়ার্কের মাধ্যমে পুনর্নির্মাণের আদেশ (কয়েক বাইট) প্রেরণকে অন্তর্ভুক্ত করে।

কিউইমেজ সহ এটি পুরো চিত্রটি প্রেরণ করে (প্রায় কয়েক এমবি)।


19
  • কিউপিক্সম্যাপ এমন একটি "চিত্র অবজেক্ট" যার pixelপ্রতিনিধিত্ব আপনার কোডে কোনও ফলস্বরূপ নয়, সুতরাং QPixmap ডিজাইন করা হয়েছে এবং চিত্র স্ক্রিনে চিত্রগুলি উপস্থাপনের জন্য অনুকূলিত করা হয়েছে , এক্স 11 ব্যবহার করার সময় এটি XServer এ সংরক্ষণ করা হয়, সুতরাং XWindow এ QPixmap অঙ্কন অঙ্কনের চেয়ে অনেক দ্রুত QImages, ডেটা সার্ভারে ইতিমধ্যে রয়েছে এবং ব্যবহারের জন্য প্রস্তুত।

    কিউপিক্সম্যাপ কখন ব্যবহার করবেন : আপনি যদি কেবলমাত্র একটি বিদ্যমান চিত্র (আইকন .. ব্যাকগ্রাউন্ড .. ইত্যাদি) বিশেষত বারবার আঁকতে চান তবে কিউপিক্সম্যাপ ব্যবহার করুন।

  • কিউইমেজ ক্লায়েন্ট কোডের একটি "মেমরির পিক্সেলের অ্যারে" , কিউমাজ আই / ও, এবং সরাসরি পিক্সেল অ্যাক্সেস এবং ম্যানিপুলেশনের জন্য ডিজাইন ও অপ্টিমাইজড।

    কখন কিউইমেজ ব্যবহার করবেন : আপনি যদি Qpaint সহ আঁকতে চান বা একটি চিত্র পিক্সেল ম্যানিপুলেট করতে চান।

  • কিউবিটম্যাপটি কেবল একটি সুবিধাজনক কিউপিক্সম্যাপ সাবক্লাস যা 1 এর গভীরতা নিশ্চিত করে, এটি একটি একরঙা (1-বিট গভীরতা) পিক্স্যাপ। কিউপিক্সম্যাপের মতোই কিউবিটম্যাপ অন্তর্ভুক্ত ডেটা ভাগ করে নেওয়ার জন্য অনুকূলিত।

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