मैं इस पुस्तकालय में नया हूं और मुझे एक (उदाहरण के लिए) पिक्सेल आरजीबी डबल संचालित करने का एक तरीका चाहिए:

p <- <RGB:(1.0e-2|9.80392156862745e-4|9.900990099009901e-3)>

मुझे पता है कि सब्सट्रैक्ट या रकम पूरे आरजीबी को प्रभावित करती है

pixel p = p + 1
<RGB:(1.01|1.0009803921568627|1.00990099009901)>

क्या तीन रंगों को एक साथ संचालित करने के बजाय अकेले लाल, नीले या हरे भाग को संचालित करने का कोई तरीका है?

2
050 3 फरवरी 2021, 20:23

1 उत्तर

सबसे बढ़िया उत्तर

RGB के लिए, डेटा घोषणा इस तरह दिखती है:

data instance Pixel RGB a = PixelRGB a a a

तीन क्षेत्र क्रमशः लाल, हरे और नीले क्षेत्र हैं। तो आप पैटर्न मिलान और पुनर्निर्माण जैसी सभी सामान्य हास्केल-वाई चीजें कर सकते हैं। उदाहरण के लिए:

redder (PixelRGB r g b) = PixelRGB ((r+1)/2) g b

इस डेटा परिवार के अन्य उदाहरणों के लिए डेटा घोषणाएं मुख्य दस्तावेज़ीकरण पृष्ठ

2
Daniel Wagner 3 फरवरी 2021, 22:05