Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 05.06.2009
Сообщений: 14

Градиент - рисует не с начала

07.06.2009, 20:42. Показов 2226. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!пишу градиент, не могу понять почему он не с начала его рисует...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
int i,j,n=300,m=0,g1,r1;
int r = 255;          // ??????? ????????????
int b = 0;        // ????? ????????????
int g = 150;          // ??????? ????????????
float x;
x=random(500);
   for(i=0;i<=n;i++)
   {
       for(j=0;j<=n;j++)
       {      if(b>150)
                 {
                  g++;
                 }
                 r=r-1;
           b=b+1;
 
 
           Image1->Canvas->Pen->Color=RGB(r,g,b);
           Image1->Canvas->MoveTo(0,j);
           Image1->Canvas->LineTo(i,j);
       }
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2009, 20:42
Ответы с готовыми решениями:

Не рисует градиент на форме
Во многих справочниках по графе в QT написан вполне вменяемый код вставляю его в мэин и ничего пустая форма(проект GUi приложения) и так и...

В графическом режиме начиная с центра рисует две спирали (по часовой и против), в точках пересечения которых рисует окружность заданного радиуса
Написать программу, которая в графическом режиме начиная с центра рисует две спирали (по часовой и против) цвет которых чередуется от 1 до...

С начала суток прошло N секунд (N — целое). Найти количество секунд, прошедших с начала последнего часа
С начала суток прошло N секунд (N — целое). Найти количество секунд, прошедших с начала последнего часа. Прошу помогите!!!

6
 Аватар для QenT
40 / 40 / 8
Регистрация: 29.01.2009
Сообщений: 244
07.06.2009, 21:10
протести
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int i,j,n=300,m=0,g1,r1;
int r = 255;             
int b = 0;                
int g = 150;             
float x;
x=random(500);
//   for(i=0;i<=n;i++)   догадайся почему
   {
       for(j=0;j<=n;j++)
       {      if(b>150)
                 {
  if(g<255)                g++;
                 }
   if(r)              r=r-1;
  if(b<255)         b=b+1;
 
 
           Image1->Canvas->Pen->Color=RGB(r,g,b);
           Image1->Canvas->MoveTo(0,j);
           Image1->Canvas->LineTo(i,j);
       }
    }
0
0 / 0 / 0
Регистрация: 05.06.2009
Сообщений: 14
07.06.2009, 23:20  [ТС]
без первого цикла ваще не работает...
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
07.06.2009, 23:55
bodjo,

Цитата Сообщение от bodjo Посмотреть сообщение
без первого цикла ваще не работает...
У меня чего-то там рисует!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int r = 255,
    g = 150,
    b = 0;
 
    for(int j = 0; j < 256; j++)
    {
        if(b > 150)
        {
            g++;
        }
 
    Image1->Canvas->Pen->Color = (TColor)RGB(r--, g, b++);
    Image1->Canvas->MoveTo(j, 0);
    Image1->Canvas->LineTo(j, Image1->Width);
    }
}
//---------------------------------------------------------------------------
Добавлено через 3 минуты 33 секунды
и так... рисует тоже
C++
1
2
Image1->Canvas->MoveTo(j, 0);
Image1->Canvas->LineTo(j, Image1->Height);
0
0 / 0 / 0
Регистрация: 05.06.2009
Сообщений: 14
08.06.2009, 00:02  [ТС]
что-то не понятно ,а как сделать чтобы с верху вниз?
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
08.06.2009, 00:12
bodjo,
тожмож
C++
1
2
    Image1->Canvas->MoveTo(0, j);
    Image1->Canvas->LineTo(Image1->Height, j);
Добавлено через 4 минуты 8 секунд
и по диагонали можатожа
C++
1
2
    Image1->Canvas->MoveTo(j, 0);
    Image1->Canvas->LineTo(0, j);
1
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
08.06.2009, 08:09
Чем вам этот способ не нравится: ??
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Graphics::TBitmap *Gradient = new Graphics::TBitmap();
Gradient->Height = 50;
Gradient->Width = 50;
int h=Gradient->Height;
int w=Gradient->Width;
struct tRGB{int R,G,B;};
tRGB Color1,Color2;
 
Color1.R=214;
Color1.G=50;
Color1.B=50;
 
Color2.R=92;
Color2.G=44;
Color2.B=220;
 
double Rg=(Color2.R-Color1.R);
double Gg=(Color2.G-Color1.G);
double Bg=(Color2.B-Color1.B);
Rg/=w;
Gg/=w;
Bg/=w;
 
for(int i=0;i<w+1;i++)
for(int i2=0;i2<h+1;i2++)
{
Gradient->Canvas->Pixels[i][i2]=TColor(RGB(Color1.R+Rg*i,Color1.G+Gg*i,Color1.B+Bg*i));
}
Form1->Canvas->Draw(0,0,Gradient);
 
delete Gradient;
Добавлено через 1 минуту 3 секунды
Потом прописываете типа в цикле вместо того:
C++
1
Gradient->Canvas->Pixels[i2][i]=TColor(RGB(Color1.R+Rg*i2,Color1.G+Gg*i2,Color1.B+B g*i2)); // и он меняет направление...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2009, 08:09
Помогаю со студенческими работами здесь

С начала суток часовая стрелка повернулась на у градусов. Сколько часов/минут прошло с начала суток?
С начала суток часовая стрелка повернулась на у градусов. Определить число полных часов и минут проедших с начала суток.

С начала суток прошло N секунд (N — целое). Найти количество полных часов, прошедших с начала суток.
С начала суток прошло N секунд (N — целое). Найти количество полных часов, прошедших с начала суток.

С начала суток прошло N секунд (N — целое). Найти количество секунд, прошедших с начала последней минуты
21. С начала суток прошло N секунд (N — целое). Найти количество секунд, прошедших с начала последней минуты.

С начала суток прошло n секунд. Определить, сколько полных минут прошло с начала очередного часа
С начала суток прошло n секунд. Определить, сколько полных минут прошло с начала очередного часа. Не у кого случаем нет этой готовой...

С начала суток прошло n секунд. Определить сколько полных минут прошло с начала очередного часа
С начала суток прошло n секунд. Определить сколько полных минут прошло с начала очередного часа.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru