這是我的第一個問題,希望我會不夠清楚......比較C中的真彩色像素
我有這個結構提供
typedef struct COLORTRIPLE
{
byte blue;
byte green;
byte red;
}
它包含在另一個結構類似:
struct color_temp
{
COLORTRIPLE color;
int temp;
};
和(EDIT)
#define PIXEL(image, row, column) \
image.pixel [(row) * image.width + (column)]
是一個宏。
所以會有PIXEL(bmpin,row,column).red, PIXEL(bmpin,row,column).green and PIXEL(bmpin,row,column).blue
。
我需要逐個像素地掃描位圖文件,並檢查當前像素是否等於color_temp結構的一種顏色。
我想是這樣的:
if ((PIXEL(bmpin,row,column))==(map[n].color))
{...}
其中
struct color_temp map[]
是color_temp的載體。
但是cygwin的GCC說:
error:request for member 'color' in something not a struct or a union
有什麼建議?
感謝
馬克
它是C還是C++?你知道有一個區別。 – 2010-09-23 10:18:42
歡迎來到Stackoverflow。下次請使用編輯框上方的'101010'按鈕來設置代碼的格式,因爲Naveen已經爲您完成了。另外,如果這是一個家庭作業問題,請添加'作業'標籤。 (它會提示人們張貼可幫助您學習的答案,而不是您可以自己翻閱的代碼片段。)然後,確定您的代碼和問題是C還是C++。除了一些語法上的相似之外,這兩者的共同點很少。如果您回覆評論,請不要忘記正確填寫@address人員,因此答覆會顯示在他們的「Aswers」標籤中。並請閱讀常見問題解答。 – sbi 2010-09-23 10:20:38
如果'PIXEL(...)'是一個指針,那麼'PIXEL(...)。red'是壞代碼。什麼是'PIXEL',一個宏? – 2010-09-23 10:25:23