crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

7 страниц V  « < 5 6 7  
Ответить в данную темуНачать новую тему
> Как узнать местоположение виджета
AD
  опции профиля:
сообщение 4.3.2009, 20:23
Сообщение #61


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Этот код делает то же что и предыдущий код, который был в функции void FillBitmapInfo(). Он заполняет QImage* bitmap (а в предыдущем варианте заполнял BITMAPINFO* pBmi)!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 4.3.2009, 20:27
Сообщение #62


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Генерит рельеф местности на основе карты высот (height)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 4.3.2009, 21:34
Сообщение #63


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(SABROG @ 4.3.2009, 20:27) *
Генерит рельеф местности на основе карты высот (height)?

НУ это если я делаю DEM-карту - то да. Именно такой метод и используется.

Эврика! :)
Удалось. Вот правильный код для отрисовки:
/// Функция отрисовки карты
void SubSahara::Draw(QPainter* painter)
{
    for(int y=0; y<bitmap -> height(); ++y)
    {
        uchar *p = bitmap -> scanLine(y);
        const uchar *source = pDevice->GetSurface() + y * bitmap -> width();
        for(int x=0; x<bitmap -> width(); ++x)
        {
            uchar i = *source++;
            p[0] = pDisplay -> GetPaletteB(i);
            p[1] = pDisplay -> GetPaletteG(i);
            p[2] = pDisplay -> GetPaletteR(i);
            p[3] = 255;
            p += 4;
        }
    }
    painter -> drawImage(QPoint(0, 0), *bitmap);
}

То есть получается, что за прозрачность отвечает 4-й бит, а раскраска - BGR! :)
Всем, кто здесь и на prog.org помог - спасибо!!!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 4.3.2009, 21:47
Сообщение #64





Гости








    


Цитата(AD @ 4.3.2009, 21:34) *
То есть получается, что за прозрачность отвечает 4-й бит, а раскраска - BGR! :)
Всем, кто здесь и на prog.org помог - спасибо!!!!

Уточню и здесь.
Точнее ARGB (как и было задано при создании QImage).
DWORD: 0xAARRGGBB в памяти сохраняется как BB GG RR AA (увеличение адресов --->).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 4.3.2009, 21:48
Сообщение #65


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


мои поздравления. теперь не зависишь от всяких там HDC??? так ведь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 5.3.2009, 9:25
Сообщение #66


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(kwisp @ 4.3.2009, 21:48) *
мои поздравления. теперь не зависишь от всяких там HDC??? так ведь?

Cпасибо. Именно так! :)))

Цитата(BRE)
Уточню и здесь.
Точнее ARGB (как и было задано при создании QImage).
DWORD: 0xAARRGGBB в памяти сохраняется как BB GG RR AA (увеличение адресов --->).

BRE, регистрируйтесь на этом форуме! Здесь нужны такие толковые люди! :) :) :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.3.2009, 9:26
Сообщение #67


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 5.3.2009, 12:25) *
Здесь нужны такие толковые люди!
:lol:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_BRE_*
сообщение 5.3.2009, 12:40
Сообщение #68





Гости








    


Цитата(Litkevich Yuriy @ 5.3.2009, 9:26) *
Цитата(AD @ 5.3.2009, 12:25) *
Здесь нужны такие толковые люди!
:lol:

Yuriy, это сарказм?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

7 страниц V  « < 5 6 7
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 6:33