DarkGDK颜色渐变代码

DarkGDK color gradient code

本文关键字:代码 渐变 颜色 DarkGDK      更新时间:2023-10-16

我正在尝试使用C++(DarkGDK库)制作颜色渐变(蓝色到白色,从左到右)。我正在尝试使用嵌套for循环来实现这一点。到目前为止,我拥有的是:

#include "DarkGDK.h"
void DarkGDK()
{
    int colorDepth = dbScreenDepth();
    dbSetDisplayMode(256,256,colorDepth);
    dbClear(0,0,255);
    for (int y = 0; y < 255; y++)
    {
        for (int x = 0; x < 255; x++)
        {
        }
    }
    dbWaitKey();
}

我不知道该怎么做才能使红色和绿色的值在每次迭代时增加1。我已经盯着这个看了3个小时,没有任何进展。。。

如有任何帮助,我们将不胜感激。

您需要的方法是dbInk(),其中包含dbRGB(),并且您错过了while循环,这在使用此库时非常重要。

#include "DarkGDK.h"
void DarkGDK (void)//Main
{
    int screenHeight = 256;
    int screenWidth = 256;
    int screenDepth = 32;
    dbSetDisplayMode(screenWidth,screenHeight,screenDepth);
    while(LoopGDK())//Main Loop
    {
        dbClear(0,0,255);
        for (int x = 0; x < screenWidth; x++)
        {
            dbInk(dbRGB(x,x,255),dbRGB(x,x,255));
            dbBox(0+x,0,1+x,screenHeight);
        }
        dbWaitKey();
    }
    return;
}

它的作用是水平扫描屏幕,使用变量x和for循环,从屏幕顶部到底部从左到右绘制一条直线。

由于白色是255255255或0xFFFFFF,并且您希望它从蓝色变为白色,因此必须在红色和绿色上加1,以便它一直变为白色。

如果你把它从蓝色变成黑色,作为另一个例子,你会用代替dbInk()

dbInk(dbRGB(0,0,255-x),dbRGB(0,0,255-x));

试试看,编码会很有趣。