See subject "copy from Topenglcontext" in lazarus mailing list (http://lists.lazarus.freepascal.org/pipermail/lazarus/2014-June/087414.html).
I got the proper answer from [email protected]

Actually I use the following code, it works:

Var
  dim: Array[0..3] Of Integer;
  c: Array Of Array[0..3] Of Byte;
  z, i, j: integer;
  TempIntfImg: TLazIntfImage;
  ImgHandle, ImgMaskHandle: HBitmap;
  CurColor: TFPColor;
Begin
  // Reading the framebuffer resolution
  glGetIntegerv(GL_VIEWPORT, @dim[0]);
  // Create the bitmap
  result := TBitmap.create;
  result.pixelformat := pf24bit;
  result.width := dim[2];
  result.height := dim[3];
  TempIntfImg := TLazIntfImage.Create(0, 0);
  TempIntfImg.LoadFromBitmap(result.Handle, result.MaskHandle);
  setlength(c, dim[2] * dim[3]);
  // Reading of the framebuffer in a temporary memory
glReadPixels(dim[0], dim[1], dim[2], dim[3], GL_RGBA, GL_UNSIGNED_BYTE, @c[0, 0]);
  // Rewriting the temporary memory in the TBitmap
  z := 0;
  For j := 0 To result.height - 1 Do
    For i := 0 To result.width - 1 Do Begin
      CurColor.red := c[z][0] * 256;
      CurColor.green := c[z][1] * 256;
      CurColor.blue := c[z][2] * 256;
      TempIntfImg.Colors[i, result.height - 1 - j] := CurColor;
      inc(z);
    End;
  TempIntfImg.CreateBitmaps(ImgHandle, ImgMaskHandle, false);
  result.Handle := ImgHandle;
  result.MaskHandle := ImgMaskHandle;
  TempIntfImg.free;
end;

Il 15/10/2015 11:59, Aradeonas ha scritto:
Hi,
This question is probably for Mattias.
Is there any way to get what I draw on TOpenGLControl as a bitmap result like an screenshot from this component? I want it to make a blur effected of it and then paint it again on the control so I get a blurred view of whatever is in control.
Regards,
Ara
--
http://www.fastmail.com - Send your email first class


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to