Einzelnen Pixel aus einem Gdiplus Buffer/Grafik auslesen

  • Abend,

    wie komme ich an die Farbe eines Pixels in einer gdiplus grafik/Buffer ran?

    Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
    Global $Bitmap = _GDIPlus_BitmapCreateFromGraphics(320,240, $hGraphic)
    Global $Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)
    _GDIPlus_GraphicsSetSmoothingMode($Buffer, 4)
    _GDIPlus_GraphicsClear($Buffer,0xFF000000)
    Global $hPen = _GDIPlus_PenCreate (0xFFABCDEF,2)
    Global $hBrush = _GDIPlus_BrushCreateSolid(0xFFABCDEF)

  • Suchste das?

    [autoit]

    Func _GDIPlus_GetPixel($hBitmap,$X,$Y)
    ; Prog@ndy
    Local $result = DllCall($ghGDIPDLL, "int", "GdipBitmapGetPixel", "ptr", $hBitmap, "int", $X, "int", $Y, "dword*", 0)
    If @error Then Return SetError(1,0,0)
    Return SetError($result[0],1,$result[4])
    EndFunc
    Func _GDIPlus_SetPixel($hBitmap,$X,$Y, $ARGB)
    ; Prog@ndy
    Local $result = DllCall($ghGDIPDLL, "int", "GdipBitmapSetPixel", "ptr", $hBitmap, "int", $X, "int", $Y, "dword", $ARGB)
    If @error Then Return SetError(1,0,0)
    Return SetError($result[0],1,$result[0]=0)
    EndFunc

    [/autoit]