我需要顏色數學方面的幫助。我有一個主要顏色,我需要獲得其他顏色的選擇和諧。 我需要這樣的顏色和聲:三角,補色,類似,單色。我需要他們在C#中。 任何幫助表示讚賞。 謝謝, 迪馬。色彩和聲:三角形,補色,類似,單色
回答
好吧,一切都圍繞着您的link中描述的色輪。我建議在數組中對這些顏色進行硬編碼。我假設你的主色一直是其中之一12.
我們將需要的一個輔助方法是將數組包圍在數組周圍的值,例如,顏色-1變爲顏色12(索引11陣列):
int WrapColor(int colorIndex, int numWheelColors)
{
while(colorIndex < 0)
{
colorIndex += numWheelColors;
}
colorIndex = colorIndex % numWheelColors;
}
我們還需要一個輔助方法,將獲得的色輪色彩的指數:
int GetColorWheelIndex(Color color)
{
if (ColorWheelArray.Contains(color))
return ColorWheelArray.IndexOf(color);
else
throw new InvalidArgumentException("color");
}
現在一切都到位(假設你有所謂的ColorWheelArray數組,包含顏色按順序)。
特里亞達:
Color[] GetTriadaColors(Color color)
{
int colorIndex = GetColorWheelIndex(color, ColorWheelArray.Length);
return new Color[]
{
color,
ColorWheelArray[WrapColor(colorIndex + ColorWheelArray.Length/3)],
ColorWheelArray[WrapColor(colorIndex + 2 * ColorWheelArray.Length/3)]
};
}
人員:
Color GetComplimentColor(Color color)
{
int colorIndex = GetColorWheelIndex(color, ColorWheelArray.Length);
return ColorWheelArray[WrapColor(colorIndex + ColorWheelArray.Length/2)];
}
類似:
Color[] GetAnalogousColors(Color color)
{
int colorIndex = GetColorWheelIndex(color, ColorWheelArray.Length);
return new Color[] { color,
ColorWheelArray[WrapColor(colorIndex + 1)],
ColorWheelArray[WrapColor(colorIndex + 2)] };
}
,因爲我不知道的單色我把它留給你的定義。 :)
編輯:如果你想讓它與任何顏色搭配工作,那麼我不是100%肯定,但我有一個想法。
該網站表示通過在RYB顏色空間中選取顏色(而不是C#使用的RGB顏色空間)來創建輪子。所以大概你可以計算出你的顏色對輪子上每種顏色有多'遠'(通過轉換爲RYB和比較),然後使用我的函數來獲得其他顏色。最後,將顏色和最接近的車輪顏色(在RYB顏色空間中)之間的差值添加到每個結果中,最後再轉換回RGB值以存儲爲Color對象。
感謝您的幫助,它是偉大的。但是,我需要爲每種顏色找到色彩和諧,但不僅僅是12.謝謝 – F0rc0sigan 2011-05-11 14:15:44
然後,你需要給我更多的東西繼續下去。該頁面不顯示如何爲其他顏色執行此操作。另請參閱我的編輯底部的答案。 – 2011-05-11 14:17:38
我也不知道,所以我在StackOverflow上問這個問題。 – F0rc0sigan 2011-05-11 14:31:49
- 1. 從特定顏色計算單色/補充/三色/類似
- 2. 交替三角形彩色背景
- 3. 黃色三角形信息
- 4. xcode 4.1黃色三角形?
- 5. 彩色jcombobox彩色項目和焦點
- 6. PyOpenGL奇怪的隨機彩色三角形
- 7. matplotlib:使用fill_between來製作彩色三角形
- 8. 彩色的三維圖
- 9. 從彩色hDC到單色hDC的BitBlt?
- 10. 彩色
- 11. Kinect彩色框架形式
- 12. OpenGL,如何將單色紋理設置爲彩色形狀?
- 13. 帶白色邊框的三角形
- 14. VS淨參考用黃色三角形
- 15. [R包corrplot - 彩色的headMap和下三角變量名
- 16. Modifiying色彩與色彩平衡
- 17. 彩色陰影彩色竊賊
- 18. Matlab補丁 - 彩色3D打印格式
- 19. 色彩映射表紅色色調
- 20. isAllowed爲單個角色(不角色角色繼承)
- 21. Web角色/員工角色/ VM角色?
- 22. javascript生成類似的隨機顏色(着色器||色調||單色)
- 23. Cloudformation和角色......但主要是角色
- 24. Ansible類似的角色重構
- 25. 繪製帶有彩色圓角邊框的矩形形狀
- 26. 黑色和白色是如何完成色彩轉換的
- 27. 產生顏色三角
- 28. 覆蓋彩色
- 29. PHP:彩色串
- 30. 彩色文本
如果你給我們一些你需要的和聲定義,你可能會得到更多的答案。這樣回答者只需要知道C#,而不是C#和色彩和聲。 :) – 2011-05-11 09:16:49
我以爲我給你定義顏色和聲:三田,補碼,類似,單色。或者我想念什麼? – F0rc0sigan 2011-05-11 12:35:57
@ user604790。這些不是定義,只是一個不同顏色和諧的列表。我的意思是你要包括一個關於三角形的解釋,補充是什麼,類似是什麼,單色是什麼。 – 2011-05-11 12:37:54