كيفية رسم وحدات البكسل من المخزن المؤقت للعرض؟
سؤال
هل يوجد أي مثال لرمز Qt الذي يعرض الصورة من المخزن المؤقت لعرض الأحرف غير الموقعة؟يتوافق كل بايت في المخزن المؤقت مع لون البكسل ذو المقياس الرمادي.يتغير محتوى المخزن المؤقت للعرض في وقت التشغيل على فترات زمنية محددة.أحتاج إلى تغيير محتوى المخزن المؤقت للعرض بأسرع ما يمكن، بحيث تبدو الصورة وكأنها تتحرك.سؤالي هو كيفية رسم وحدات البكسل من المخزن المؤقت بسرعة كبيرة؟لا أحتاج إلى حفظ الصورة، أريد فقط عرضها.الرجاء المساعدة
المحلول
QImage
يوفر أ البناء للتهيئة باستخدام unsigned char
متعادل.لعرضه يمكنك استخدام QGraphicsView
مع QGraphicsScene
.في كل مرة تتغير فيها بيانات المخزن المؤقت، يمكنك استدعاء فتحة مشابهة لتلك التالية:
void updateImage()
{
// I assume an 1024x768 image
QImage img(buffer, 1024, 768, QImage::Format_Indexed8);
scene->clear();
scene->addPixmap(QPixmap::fromImage(img));
graphicsView->update();
}
يمكنك أيضًا استخدام QPixmap
'س loadFromData
من أجل تحميل الصورة البيكسلية مباشرة من مصفوفة char غير الموقعة وتجنب QImage
خطوة.