Вывод текста через API

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Вывод текста через API

Сообщение скалогрыз » 19.03.2010 14:15:50

ctm писал(а):менял я инкремент до следующего пикселя (4 вместо 3)

да. это исключительно моя ошибка. Даже для rgb изображений (без alpha канала), количество бит может быть 32, всё зависит от платформенной реализации.
Инкремент должен выглядеть так:
Код: Выделить всё
var
  bpp: Integer; // bytes per pixel
...
  bpp:=fBackBuf.RawImage.Description.BitsPerPixel div 8;
...
  inc(j,bpp);


ctm писал(а):и пришлось указать честный rect для текста - а то не выводил.

хм...
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Вывод текста через API

Сообщение ctm » 06.04.2010 09:24:40

ну вот:
ExtTextOut(fBackBuf.Canvas.Handle, 0, 0, ETO_CLIPPED,
nil, // в QT если тут передать nil, то текст не выводится. нужно обязательно передать валидный PRect
PChar(fSomeText), length(fSomeText), nil);
ctm
новенький
 
Сообщения: 21
Зарегистрирован: 03.03.2010 16:34:29

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

Рейтинг@Mail.ru