Ответы пользователя по тегу Qt
  • Как с помощью QT вывести на монитор 10-битное изображение?

    @fregate
    Пишу, думаю
    partA = static_cast<uint8_t>((color &0xFF00) >> 8); // == 0 всегда
    partB = static_cast<uint8_t>(color &0x00FF); // 0..255

    за 1024 точки partB 4 раза проходит от 0 до 255 - по-этому вы видите 4 градиента.
    вы неправильно создаете его

    16 бит grayscale - значит, значение тона меняется от 0..65535, вам необходимо "сжать" этот диапазон в 1024 точки то есть каждая точка в горизонтали должна заполняться как-то так:
    for (ushort color = 0; color < 1024; color++)
          arr->append (color * 64);  // * 65536/1024

    таким образом каждая точка будет увеличиваться на нужный шаг. если хотите сделать "челлендж" своему монитору, то вам нужно не весь ряд отобразить, а отобразить именно 10-20 тонов, тогда вам нужно "разжать" 10-20 тонов на 1024 точки - тут вы уже справитесь, я думаю.
    Ответ написан