जैसा कि पिछले पोस्ट में बताया गया है, आप Win32 API से GetPixel फ़ंक्शन चाहते हैं।
GetPixel gdi32.dll के अंदर बैठता है, इसलिए यदि आपके पास उचित वातावरण सेटअप है, तो आपको windows.h (जिसमें wingdi.h शामिल है) शामिल करने में सक्षम होना चाहिए और आपको सुनहरा होना चाहिए।
यदि आपके पास किसी भी कारण से न्यूनतम वातावरण सेटअप है, तो आप सीधे लोडिंग लाइब्रेरी का उपयोग gdi32.dll पर भी कर सकते हैं।
GetPixel का पहला पैरामीटर डिवाइस संदर्भ के लिए एक हैंडल है, जिसे GetDC फ़ंक्शन को कॉल करके पुनर्प्राप्त किया जा सकता है (जो <windows.h>
के माध्यम से भी उपलब्ध है)।
एक मूल उदाहरण जो डीएलएल से गेट पिक्सेल लोड करता है और जहां भी आपका कर्सर है, पिक्सेल के रंग को प्रिंट करता है।
#include<windows.h>
#include<stdio.h>
int main(int argc, char** argv)
{
FARPROC pGetPixel;
HINSTANCE _hGDI = LoadLibrary("gdi32.dll");
if(_hGDI)
{
pGetPixel = GetProcAddress(_hGDI, "GetPixel");
HDC _hdc = GetDC(NULL);
if(_hdc)
{
POINT _cursor;
GetCursorPos(&_cursor);
COLORREF _color = (*pGetPixel) (_hdc, _cursor.x, _cursor.y);
int _red = GetRValue(_color);
int _green = GetGValue(_color);
int _blue = GetBValue(_color);
printf("Red: 0x%02x\n", _red);
printf("Green: 0x%02x\n", _green);
printf("Blue: 0x%02x\n", _blue);
}
FreeLibrary(_hGDI);
}
return 0;
}
पर्याप्त जानकारी नहीं है। क्या आप समझा सकते हैं कि आप ऐसा क्यों करना चाहते हैं? इसके अलावा, यह निश्चित रूप से ओएस विशिष्ट है। –
इसके बारे में क्षमा करें, मैंने और जानकारी जोड़ दी है। – rectangletangle