Я делаю приложение на Linux с GCC, в котором я загружаю свои фотографии с диска с помощью PngLIB в течение некоторого времени. Я перешел от стандартного xlib к расширению Xrender, чтобы использовать свойства сглаживания и альфа-канала, предлагаемые этим расширением.XRender Показать изображения с образов дисков/приложений
Однако это расширение предлагает уменьшенный набор примитивов. Чтобы, например, отобразить изображение, загруженное с диска, я загрузил его с помощью pnglib, а затем сделаю вызов XRenderFillRectangle с шириной и высотой 1 пиксель и желаемым цветом для этого пикселя. Однако по мере увеличения количества значков и изображений, загруженных с диска, легко понять, что я легко запускаю МИЛЛИОНЫ вызовов примитивного XRenderFillRectangle. Заключение: на данный момент приложение занимает около 20 секунд, чтобы отобразить все вещи, и это даже не половина того, что я хочу сделать.
Я уверен, что этот подход, который я использую, полностью неправильный, и должен быть другой способ! И я также уверен, что это не так, как это делают Каир или Java2D, чтобы генерировать материал.
Так что мой вопрос: Как подготовить и поместить в изображение изображений Xrender, которые были сгенерированы приложением? Как, например, изображения, загруженные с диска?
Может ли стандартная функция XPutImage применяться на изображении Xrender? Должен ли я помещать данные в Pixmap перед генерацией изображения? До сих пор мои подходы не работали.
PS: Пожалуйста, не рекомендуем мне использовать более богатую библиотеку, такую как Каир или Qt. Я задаю этот вопрос здесь, потому что, к сожалению, каждый раз, когда я нахожу сообщение об этой ситуации, ответ большинства людей: используйте Каир. Мне действительно нужно оставаться на низком уровне, насколько это возможно, с помощью этой системы X11. Большое спасибо.
ли вы пытаетесь использовать [поиск по сайту] (http://stackoverflow.com/questions/6609281/how-to-draw-an-image-from- файл-на-окно-с-Xlib)? –
Вы пытались прочитать мой вопрос? Я использую расширение Xrender, поэтому я не могу применить XPutImage к картинке, только для PixMap. – filipehd
Почему вы не хотите использовать обычный xlib? –