Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GDI+ LinearGradientBrush. как поменять Rect 
:(
    Опции темы
Nastya
Дата 27.9.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: нет
Всего: 44



Вот такая задача. 
1. В одномместе создается кисть, ей задаются LinearGradientMode и InterpolationColor
2. В других местах надо ей закрашивать прямоугольники (много и разных smile ) но так что бы rect прямоугольника и rect кисти были одинаковые

Так как для кисти в тем или иным способом но Rect надо задать в конструкторе я ставлю его = {0,0,1,1}
А потом делаю:

Код

        Matrix S;
        lb->GetTransform(&S);
        lb->ScaleTransform(w , h , MatrixOrderPrepend);
        g->FillRectangle(br, 0, 0, w, h);
        lb->SetTransform(&S);


где g - Graphics, ld - та самая кисть, а w h - высота и ширина соответственно.

Но работает не правильно.
Как это можно сделать.
Если создавть новую кисть на основе  InterpolationColor старой, то не понятно от куда взять и как поставить LinearGradientMode 

Заранее спасибо за советы smile


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Nastya
Дата 4.10.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: нет
Всего: 44



Что совсем- совсем не кто не подскажет :'(
Тоды хоть киньке доку по GDI+, где ьы рассказывалась про все эти  матрицы трансформации 


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Nastya
Дата 5.10.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: нет
Всего: 44



поменяла на этот код
Код

        Matrix S;    
        lb->GetTransform(&S);    
        lb->ScaleTransform(w , h , MatrixOrderPrepend);    
        g->FillRectangle(br, 0, 0, w, h);    
        lb->SetTransform(&S);

И вроде все заработала. Почему не понимаю smile

Добавлено @ 14:11 
сорри, код такой :
Код


        Matrix S;    
       g->GetTransform(&S);    
     g->ScaleTransform(w , h , MatrixOrderPrepend);    
        g->FillRectangle(br, 0, 0, w, h);    
       g->SetTransform(&S);



--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.