GetHdc पर MSDN पेज
मुझे लगता है कि तुम इसे खोज रहे हो। आपको एचडीपीसी प्राप्त करने की आवश्यकता होगी और फिर सेटपिक्सल का उपयोग करने के लिए जीडीआई कॉल का उपयोग करना होगा। ध्यान दें, GDI में एक COLORREF एक BORD रंग जमा करने वाला DWORD है। कोई अल्फा चैनल नहीं है, और यह GDI + के कलर स्ट्रक्चर की तरह RGB नहीं है।
यह एक छोटा सा कोड है जिसे मैंने एक ही कार्य को पूरा करने के लिए लिखा था:
public class GDI
{
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
internal static extern bool SetPixel(IntPtr hdc, int X, int Y, uint crColor);
}
{
...
private void OnPanel_Paint(object sender, PaintEventArgs e)
{
int renderWidth = GetRenderWidth();
int renderHeight = GetRenderHeight();
IntPtr hdc = e.Graphics.GetHdc();
for (int y = 0; y < renderHeight; y++)
{
for (int x = 0; x < renderWidth; x++)
{
Color pixelColor = GetPixelColor(x, y);
uint colorRef = (uint)((pixelColor.B << 16) | (pixelColor.G << 8) | (pixelColor.R));
GDI.SetPixel(hdc, x, y, colorRef);
}
}
e.Graphics.ReleaseHdc(hdc);
}
...
}