C++ C++;如何使用setpixel函数绘制色调曲线(gamma)以绘制图形

C++ C++;如何使用setpixel函数绘制色调曲线(gamma)以绘制图形,c++,graph,drawing,pixel,image,C++,Graph,Drawing,Pixel,Image,正如标题所提到的。我试图画一条伽马色调曲线,但我不知道怎么画。我可以很好地绘制线性色调曲线,但当涉及到绘制伽马色调曲线时,我完全失去了它。参考(第1或第2张图纸) 代码如下 #include <math.h> static COLORREF red=RGB(255,0,0); static COLORREF blue=RGB(0,0,255); static COLORREF green=RGB(0,255,0); #包括 静态COLORREF red=RGB(255,0,0);

正如标题所提到的。我试图画一条伽马色调曲线,但我不知道怎么画。我可以很好地绘制线性色调曲线,但当涉及到绘制伽马色调曲线时,我完全失去了它。参考(第1或第2张图纸)

代码如下

#include <math.h>

static COLORREF red=RGB(255,0,0);
static COLORREF blue=RGB(0,0,255);
static COLORREF green=RGB(0,255,0);
#包括
静态COLORREF red=RGB(255,0,0);
静态颜色参考蓝=RGB(0,0255);
静态COLORREF绿色=RGB(0255,0);
我应该在其中加入绘制伽马色调曲线的部分

for(int y=0; y<bih.biHeight; y++)
            {                       
                for(int x=0; x<bih.biWidth; x++)
                {   
                SetPixel(hdc, x, bih.biHeight-x, red);
}

// The X axis of the graph

HPEN hLinePen1;
                COLORREF qLineColor1;
                qLineColor1 = RGB(255, 0, 0);
                hLinePen1 = CreatePen(PS_SOLID, 2, qLineColor1);
                hPenOld1 = (HPEN)SelectObject(hdc, hLinePen1);
                line(hdc,0, bih.biHeight, bih.biWidth, bih.biHeight);
                SelectObject(hdc, hPenOld1);
                DeleteObject(hLinePen1);
// The Y axis of the graph

                HPEN hLinePen2;
                COLORREF qLineColor2;
                qLineColor2 = RGB(255, 0, 0);
                hLinePen2 = CreatePen(PS_SOLID, 2, qLineColor2);
                hPenOld2 = (HPEN)SelectObject(hdc, hLinePen2);
                line(hdc,0, bih.biHeight, 0, bih.biWidth-bih.biHeight);
                SelectObject(hdc, hPenOld2);
                DeleteObject(hLinePen2);

for(int y=0;y绘制图形应该很简单。对于每个X点,计算相应的y值-如果伽马的刻度为0-255,则为
y=round(pow(X/255,Gamma)*255)
。然后从上一点到当前点画一条线。

你好,马克,你有例子吗?另外,我一直在根据高度和宽度绘制X轴和Y轴的图形,我不知道255从哪里来。你好,马克,我在里面执行了公式。不幸的是,它不起作用,但我知道这是公式,谢谢!我假设您希望将gamma应用于范围0到255的值,这在图像处理中很常见。另一种常见的可能性是范围0到1,公式是
y=round(pow(x,gamma)*height)
。我不知道原因,但它不起作用。对于线性图,它起作用了。这让我困扰了一整天。它终于起作用了!我不知道为什么它现在起作用了,我想我昨天太累了,无法实现该算法!你有用于该算法的代码吗“我可以做线性色调曲线很好,但当涉及到绘制伽马色调曲线”,或链接?