Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Как реализовать градиент?

Graphics::TBitmap *Gradient = new Graphics::TBitmap();
 
 Gradient->Height = 50;
 
 Gradient->Width = 50;
 
 int h=Gradient->Height;
 
 int w=Gradient->Height;
 
 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;
 
 



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS