[Visual C++]Rainbow RGB gradient
7277 ワード
![](http://i64.tinypic.com/2uqj2va.png)
次のソースコードは、HSLカラーモデルを使用してRainbowカラーを印刷するコードです.
#include <shlwapi.h>
#pragma comment( lib, "shlwapi.lib" ) // needed for the ColorHLSToRGB() function
int hue, lum, sat;
lum = 120;
sat = 240;
for (hue=0; hue<240; ++hue){
COLORREF rgbColor = ::ColorHLSToRGB( hue, lum, sat );
}
http://forums.codeguru.com/showthread.php?421211-Rainbow-RGB-gradient 以下のソースコードを結果と比較すると、HSLカラーモデルをよりよく理解することができる.
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
#include<vector>
#include <shlwapi.h>
#pragma comment( lib, "shlwapi.lib" ) // needed for the ColorHLSToRGB() function
int main() {
int hue, lum, sat;
sat = 240;
cv::Mat img(sat,240, CV_8UC3);
for (lum = 0; lum < 240; lum++){
for (hue = 0; hue < sat; ++hue){
COLORREF color = ::ColorHLSToRGB(hue, lum, sat);
int r = GetRValue(color);
int g = GetGValue(color);
int b = GetBValue(color);
img.at<cv::Vec3b>(hue,lum) = cv::Vec3b(b, g, r);
}
}
cv::imshow("img", img);
cv::waitKey();
return EXIT_SUCCESS;
}
Reference
この問題について([Visual C++]Rainbow RGB gradient), 我々は、より多くの情報をここで見つけました https://velog.io/@springkim/Visual-CRainbow-RGB-gradientテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol