|
#1
|
|||
|
|||
Re: XCreateImage и XPutImage
Ilya Anfimov написал(а) к Oleg Goodyckov в Dec 02 19:45:18 по местному времени:
From: ilan@adt.ru (Ilya Anfimov) On Thu, 19 Dec 2002 14:58:27 +0000 (UTC), Oleg Goodyckov <og@videoproject.kiev.ua> wrote: >Привет всем! > >Что-то не пойму, было это сообщение в эхе или нет? Вроже отправлял, но не >видел. Было. > >Проблема есть такая: читаю из файла в память картинку размерами >768 х 576 х 24 (то есть на пиксель - 3 байта). Создаю процедурой >XCreateImage имидж и процедурой XPutImage вывожу его в окно размерами >192 х 144. > >По высоте получается все хорошо. Но по ширине картинка получается втрое >шире. И происходит сие потому, что каждый байт строки исходного >изображения отображается в отдельный пиксель целевой картинки. Так что она >состоит из вертикальных полос красного, зеленого и синего цветов, >промодулированных по яркости. То есть все, как положенно, но почему байт >попадает в пиксель? >Впечатление такое, что какая-то из сабжевых процедур воспринимает исходную >картинку не как 24-разрядную, а как 8-разрядную. Но >Screen->rootvisual->bits_perrgb я устанавливал в 24 и никакого >результата оно не дало. То есть, отношения к делу не имееют. > >Кто подскажет, где чего крутить? 1) Первый вариант при таких приколах -- посмотреть на те творения, где всё работает. Ну не знаю, например, на display от ImageMagick какой-нибудь. 2) X11 в этом месте работает как описано в документации. Следовательно, глюки у тебя. Следовательно, без примера кода это обсуждение будет весьма отвлечённым. Кстати, и твоё рассуждение о промодулированных полосах мне тоже кажется несколько расплывчатым. 3) Кстати, в качестве отвлечённого обсуждения: ты случайно for- mat как XYPixmap не поставил? А то привычное ещё с DOSовых времён расположение -- это ZPixmap. >Заранее благодарен. --- ifmail v.2.15dev5 |