导航:首页 > 源码编译 > c渐变算法

c渐变算法

发布时间:2023-05-12 05:08:33

⑴ 如何用c语言实现背景颜色渐变

你这个问题太宽泛了,能不能具体点:
1)使用什么操作系统
2)使用什么编译
3)GUI程序或者console程序

你或许应该这样问:在Windows XP下面用VC6实现一个背景颜色渐变的windows程序,不需要实现其他功能,要求只使用C语言,不要C++语言。

⑵ 51单片机蜂鸣器5khz到500hz渐变如何实现C语言编程

用延时函数,延时的时间就不会很准。
满足频伏差率5KHz、500Hz的要求,就会笑大有一定的误差。
如果要求的不很严格,那还碰厅竖是很容易办到的。

⑶ 谁能给一个渐进色的算法--要全一点的

渐进色的话可以这样做~~~例如从RGB(r1,g1,b1)到RGB(r2,g2,b2)

首先你设置一个步长step,步长你可以取绘制矩形的大小或者是颜色分量差的最大值,我这里就简单地取颜色分量差的量大值吧~~
s1=r1-r2
s2=g1-g2
s3=b1-b2
那么step=max( abs(s1) , abs(s2), abs(s3) )
这样你可以得到
f_r = s1 / (float)step;
f_g = s2 / (float)step;
f_b = s3 / (float)step;

设一个变量i = 0; i < step; i++
新的颜色c = RGB( r1+f_r*i , r2+f_g*i , r3+f_b*i )
==============================
PhotoShop中那个渐变是用OpenGL来渲染的~~~用这个的话就简单多了~~只用指定左边两点和右边两点的颜色,然后以GL_SMOOTH这个默认个值来填充就行了……

⑷ 用51单片机c语言编写8个渐变流水灯

定时器控制输出时间,间接控制占空比能完成.

⑸ C++编程 画渐变圆形

void CdrawcircleView::OnDraw(CDC* pDC )
{
CdrawcircleDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
pDC->Ellipse(100,100,355,355);
int ii;
CPen pen;
for(int i=0;i<255;i++)
{ ii=i*256*256+i*256+i;
for(int j=0;j<255;j++)
{
if((j-127.5)*(j-127.5)+(i-127.5)*(i-127.5)<=127.5*127.5)
pDC->SetPixel(100+j,100+i, ii);
}

}

// TODO: 在此处为本机数据添加携厅绘制代码
}
在mfc中view类的塌隐梁ondraw中就是这个函数团运

⑹ 详解css颜色渐变表达式,求高手,一字一字的解释啊

颜色渐变滤镜
startColorStr : 可选项。字符串(String)。设置或检索色彩渐变的开始颜色和告举透明度。其格式为 #AARRGGBB 。 AA
、 RR 、 GG 、 BB 为十六进制正整数。取值范围为 00 - FF 。 RR
指定红色值, GG 指定绿色值, BB 指定蓝色值,参阅 #RRGGBB
颜色单位。 AA 指定透明度。 00 是完全透明。 FF
是完全不透明。超出取值范围的值将被恢复为默认值。取值范围为 #FF000000 - #FFFFFFFF 。默认值为 #FF0000FF 。不透明蓝色。

EndColorStr : 可卖友历选项。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。

GradientType : 可读写。整数值(Integer)。设置或检索色彩渐变的方向。中搜1 | 01 :默认值。水平渐变。0 :垂直渐变。

⑺ 如何用C语言编写一个LED灯渐变的程序

#include<reg51.h>
//设CPU是时钟12MHz的8051系列
dataunsignedcharms;
sbitK1=P0^0;
voidSetupTimer0()
{
TMOD&=0XF0;//仅保留T1信息
TMOD|=0X02;//设置T0:定时功能,方式2,自动重载8位定时器/计数器
TH0=256-250;//定时每0.25ms中断一次
TL0=256-250;
TR0=1;//开启定时器
ET0=1;//定时器0中断打开
}

voidTimer0_ISR()interrupt1//中断服务程序
{
staticdataunsignedcharus250;
if(++us250>=4){++ms;us250=0;}
}

voidmain()
{
dataunsignedcharp1,p2;
ms=0;
SetupTimer0();
EA=1;//全局中断打开
K1=1;
while(1)
{
if(K1){P1=p1=0XFF;P2=p2=0x00;ms=0;continue;}
if(ms<150)continue;
ms=0;
p1<<=1;P1=p1;
p2<<=1;p2|=1;P2=p2;
}
}

⑻ C语言怎样设计一个渐变透明的窗口 从左(不透明)到右(透明)

可以试试使用gdi+库来实现颜色渐变,下边是一种方法,中滚具体可见: http://download.csdn.net/download/weizengke/3101800有源码,。

BOOL CTipDlg::OnEraseBkgnd(CDC* pDC)
{
CRect rcClient;
GetClientRect(&rcClient);
GradientFillRect( pDC, rcClient, RGB(0,191,255), RGB(238,238,238), TRUE );

// CPaintDC dc(this);
// Rect picRect;
// CRect clRect;
// GetClientRect(&clRect);
// //GetUpdateRect(clRect);
// picRect.X = clRect.left;
// picRect.Y = clRect.top;
// picRect.Width = clRect.Width();
// picRect.Height = clRect.Height();
//
// Graphics grpx(dc);
// //////////////////////////////陪培团/////////////////////////////芦橘///////主界面背景
// WCHAR *strPath=L"res\\none.png";
// Image * Img = Image::FromFile(strPath,FALSE);
// grpx.DrawImage(Img,picRect);

return true;
// return CDialog::OnEraseBkgnd(pDC);
}
//实现渐变
void CTipDlg::GradientFillRect( CDC *pDC, CRect &rect, COLORREF col_from, COLORREF col_to, bool vert_grad )
{
TRIVERTEX vert[2];
GRADIENT_RECT mesh;

vert[0].x = rect.left;
vert[0].y = rect.top;
vert[0].Alpha = 0x0000;
vert[0].Blue = GetBValue(col_from) << 8;
vert[0].Green = GetGValue(col_from) << 8;
vert[0].Red = GetRValue(col_from) << 8;

vert[1].x = rect.right;
vert[1].y = rect.bottom;
vert[1].Alpha = 0x0000;
vert[1].Blue = GetBValue(col_to) << 8;
vert[1].Green = GetGValue(col_to) << 8;
vert[1].Red = GetRValue(col_to) << 8;

vert[2].x = rect.right;
vert[2].y = rect.bottom;
vert[2].Alpha = 0x0000;
vert[2].Blue = GetBValue(col_to) << 16;
vert[2].Green = GetGValue(col_to) << 16;
vert[2].Red = GetRValue(col_to) << 16;

mesh.UpperLeft = 0;
mesh.LowerRight = 1;
#if _MSC_VER >= 1300 // only VS7 and above has GradientFill as a pDC member
pDC->GradientFill( vert, 2, &mesh, 1, vert_grad ? GRADIENT_FILL_RECT_V :
GRADIENT_FILL_RECT_H );
#else
GradientFill( pDC->m_hDC, vert, 2, &mesh, 1, vert_grad ? GRADIENT_FILL_RECT_V :
GRADIENT_FILL_RECT_H );
#endif
}

⑼ Authorware入门教程之制作渐变效果


我们在做多媒体作品时,自然少不了用渐变色来装饰自己。可是,Authorware中却没有现成的东东来画渐变颜色。本着DIY的精神,咱仔细地想了又想,终于可以在Authorware中直接做出渐变效果了。以下是三个小例子:一个是线性渐变、一个是圆的径向渐变以及一个扇形渐变。
速度条渐变
首先利用其他软件(比如Windows自带的画图板)得到红色和黄色的RGB值。返亏打开画图板,点击“颜色→编辑颜色”菜单,弹出“编辑颜色”对话框,单击其中的“规定自定义颜色”按钮,然后选中红色,您就会在最右侧看到这个颜色的RGB值了(如图1)。现在您看到了吧,纯红色的RGB值是(255,0,0),而纯黄色的RGB值是(255,255,0)。
您只要把这些内容写到一个计算图标里就行了。
h:=100
k:=80
x:=h
b:=0
repeat while x〈=400
x1:=x+1
if b〉255 then
b:=255
end if
SetFrame(1,RGB(255,b,0))
Line(20,x,k,x1,k)
x:=x+1
b:=b+1
end repeat
怎么样,带红黄渐变的进度条效果是不是很酷啊?如图2所示。
如果想调整色块的宽度,就调整Line(20,x,k,x1,k)语句中那个“20”的数值就可以了,而如果您想调整长度呢,就请调整repeat while x〈=400语句中那个“400”的数值。
拖一个计算图标到流程线上,双击打开其输入窗口,输入如下的内容:
h:=400
k:=250
p:=0
c:=0
repeat while p〈=130
if c〉=255 then
c:=255
end if
SetFrame(1,RGB(255,c,0))
Circle(2,h-p,k-p,h+p,k+p)
p:=p+1
c:=c+2
end repeat
执行一下,效果怎么样?还不错吧?如图3所示。如果您想改变一下渐变色,是非漏衫神常简单的。只要您把上面程序中RGB(255,c,0)中的三个数值做塌槐个调整就可以了。您可以试试RGB(255,c,c)或RGB(c,c,c),甚至RGB(c,255-c,c)。此外,调整一下c:=c+2一句中的数字,可能有意想不到的效果出现喔!扇形渐变您先看看效果,如图4所示。在Photoshop中我们常见这种效果,是不是?在Authorware中咱们照样可以把它做出来。您只要在计算图标中写入如下的内容:
h:=200
k:=200
x:=0
b:=0
r:=150
angle:=0
repeat while angle〈=2*Pi
x:=r*COS(angle)+h
y:=r*SIN(angle)+k
if b〉255 then
b:=255-(b-255)
end if
SetFrame(1,RGB(255,b,0))
Line(5,h,k,x,y)
b:=b+1
x:=x+1
angle:=angle+0.02
end repeat
OK,执行一下,体验一下那种成功的快乐吧!

⑽ UNITY C#如何将颜色渐变循环

//说明:RGB为光的红绿蓝三原色,(每一种颜色范围0~255)通过改变三种颜色的比例即可调出各种颜色
privatevoidbtn_Color_Click(objectsender,EventArgse)
{
Threadt=newThread(Update);
t.IsBackground=true;
t.Start();
}
newvoidUpdate()
{
inti=0,j=100,k=100;
//变红
for(i=100;i<255;i=i+5)
{
Colorc=Color.FromArgb(i,j,k);
label4.BackColor=c;
Thread.Sleep(100);
}
//变绿
for(j=100;j<255;j+=5)
{
i=100;k=100;
Colorc=Color.FromArgb(i,j,k);
label4.BackColor=c;
Thread.Sleep(100);
}
//变蓝
for(k=100;k<255;k+=5)
{
i=100;j=100;
Colorc=Color.FromArgb(i,j,k);
label4.BackColor=c;
Thread.Sleep(100);
}
MessageBox.Show("色彩展示1完毕");
//彩虹渐变
for(i=0;i<125;i++)
{
Colorc=Color.FromArgb(255-2*i,i,2*i);
label4.BackColor=c;
Thread.Sleep(200);
}
MessageBox.Show("色彩展示2完毕");
}

阅读全文

与c渐变算法相关的资料

热点内容
自动解压失败叫我联系客服 浏览:482
易语言新手源码 浏览:456
oa服务器必须有固定ip地址 浏览:42
传奇源码分析是什么 浏览:267
解放压缩机支架 浏览:255
程序员秃顶搞笑相遇 浏览:6
IBM手机app商店叫什么名字 浏览:834
jpeg压缩质量 浏览:774
云服务器评测对比 浏览:145
java日期转string 浏览:221
openfire源码编译 浏览:897
在线小工具箱引流网站源码 浏览:337
非科班程序员自学 浏览:800
压缩泡沫鞋底底材 浏览:219
程序员职场第一课2正确的沟通 浏览:679
遇到不合法app应该怎么办 浏览:91
汇编程序编译后的文件 浏览:80
大智慧均线源码 浏览:373
单片机排阻的作用 浏览:216
滴滴金融app被下架如何还款 浏览:212