我想问一下我如何计算RGB颜色强度的变量y。
RGB_Trypelstruct中的这些r,g,B字母代表数组rot,gelb,gruen,韦斯,施瓦茨的每个数组元素。所以我需要在这里将这些r,g,b数组元素与y变量中显示的数字相乘。
如果能帮上忙我会很高兴的。
#define CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct RGB_Trypel
{
unsigned char r, g, b; // speichert Werte nur bis 255 und positive Werte
};
int main(void)
{
struct RGB_Trypel rot = { 255,0,0 }, gelb = { 255,255,0 }, gruen = { 0,255,0 };
const struct RGB_Trypel weiss = { 255,255,255 };
const struct RGB_Trypel schwarz = { 0,0,0 };
struct RGB_Trypel fafeld[5] = { rot, gelb, gruen, weiss, schwarz };
int n = 5;
unsigned char intensiteat(struct RGB_Trypel t);
{
int = y;
y = 0.299 * r + 0.587 * g + 0.114 * b;
}
for (int i = 0; i < n; i++)
{
printf("(%3d,%3d,%3d): \t intensiteat(%d) \n",fafeld[i].r, fafeld[i].g, fafeld[i].b, intensiteat(fafeld[i]);
}
return 0;
}
我真的不知道如何将我的结构数组元素放入函数中,并让它乘以我的y变量中的数字。
2条答案
按热度按时间ryoqjall1#
你最大的问题是
看起来像是试图在另一个函数中定义一个函数。这不会起作用。将它移动到main之前。像这样:
第二,要在该函数中引用结构体的字段,请执行以下操作:
你有多个其他错误,但这将让你开始
顺便说一句,你错过了前面定义的_。应该是:
icomxhvb2#
我可能需要再问你一次,如果你可以看看它,因为现在我没有得到任何数字,然后我编译它。