Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Graphics and Multimedia
»
Graphics
(Moderator:
Ask
) »
[Answered, no solution] GetFormImage on MacOS generates black bitmap
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
IRC channel
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Web Applications with Pas...
by
Handoko
[
Today
at 08:56:29 pm]
AI, NLP and CAI: Text Gen...
by
indydev
[
Today
at 08:54:00 pm]
Offical launch of the 1 B...
by
Gustavo 'Gus' Carreno
[
Today
at 08:48:22 pm]
Colore celle StringGrid
by
JuanBell
[
Today
at 08:47:28 pm]
Multidimensional arrays a...
by
KodeZwerg
[
Today
at 08:34:38 pm]
Ho Ho Ho IntraWeb in Laza...
by
Thaddy
[
Today
at 08:31:29 pm]
[SOLVED] System.Now gives...
by
alpine
[
Today
at 08:29:19 pm]
FpDebug likely bug
by
440bx
[
Today
at 08:26:20 pm]
open dialog - default dir...
by
Nicole
[
Today
at 08:02:40 pm]
Installing and using Vamp...
by
Odacir
[
Today
at 07:58:22 pm]
Demo Scene Picture sinwav...
by
circular
[
Today
at 07:27:02 pm]
Demo Scene Bitmap Font Sc...
by
KodeZwerg
[
Today
at 07:21:14 pm]
what's difference between...
by
ASerge
[
Today
at 07:09:52 pm]
splitting an image
by
KodeZwerg
[
Today
at 07:07:21 pm]
Debugger error
by
bobonwhidbey
[
Today
at 07:03:07 pm]
How to: create DLL file f...
by
paule32
[
Today
at 07:02:31 pm]
Your best UI design - con...
by
circular
[
Today
at 06:48:12 pm]
Converting a string/index...
by
1HuntnMan
[
Today
at 06:35:19 pm]
Drawing grid lines on a t...
by
KodeZwerg
[
Today
at 05:42:19 pm]
Compile/Convert Delphi pr...
by
Martin_fr
[
Today
at 05:29:03 pm]
Lazarus features in a non...
by
Lutz Mändle
[
Today
at 05:26:34 pm]
Lazarus for Windows on aa...
by
msintle
[
Today
at 05:03:57 pm]
Parameter passing odditie...
by
KodeZwerg
[
Today
at 03:41:49 pm]
Surf Units in Text Mode I...
by
mosquito
[
Today
at 01:58:21 pm]
Generics - correct syntax
by
Thaddy
[
Today
at 01:48:32 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: [Answered, no solution] GetFormImage on MacOS generates black bitmap (Read 1831 times)
wittbo
Full Member
Posts: 150
[Answered, no solution] GetFormImage on MacOS generates black bitmap
«
on:
June 03, 2019, 02:46:46 pm »
Given this simple procedure:
procedure TmyForm.Button1Click(Sender: TObject);
var bm: TBitmap;
begin
bm := myForm.GetFormImage;
bm.Canvas.Changed;
bm.SaveToFile('/users/myuser/downloads/test.bmp');
bm.Free
end;
The file gets generated with the correct dimensions width and height, but the contents of the bitmap in the file is entirely black.
Any idea?
Does GetFormImage only work on Windows?
«
Last Edit: June 05, 2019, 10:41:19 am by wittbo
»
Logged
-wittbo-
MBAir with MacOS 10.14.6 / Lazarus 2.2.4
MacStudio with MacOS 13.0.1 / Lazarus 2.2.4
lucamar
Hero Member
Posts: 4219
Re: GetFormImage on MacOS generates black bitmap
«
Reply #1 on:
June 03, 2019, 04:59:55 pm »
Quote from: wittbo on June 03, 2019, 02:46:46 pm
Does GetFormImage only work on Windows?
No, it works also on Linux. See attached image, made using:
Code: Pascal
[Select]
[+]
[-]
procedure
TMainForm
.
btDoTestClick
(
Sender
:
TObject
)
;
var
Bitmap
:
TBitmap
;
begin
Bitmap
:
=
GetFormImage
;
if
Assigned
(
Bitmap
)
then
try
{Bitmap.Canvas.Changed; - not needed: there's no OnChange handler}
Bitmap
.
SaveToFile
(
'test.bmp'
)
;
Image
.
Picture
.
LoadFromFile
(
'test.bmp'
)
;
finally
Bitmap
.
Free
;
end
;
end
;
Unrelated, but note that it is
very bad practice
to reference the auto-created form instance inside the methods. If you realy need to reference the current object use
Self
, as in:
Self.GetFormImage
Logged
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!)
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.
bylaardt
Sr. Member
Posts: 309
Re: GetFormImage on MacOS generates black bitmap
«
Reply #2 on:
June 04, 2019, 01:52:17 am »
this reminds me of an old topic:
https://forum.lazarus.freepascal.org/index.php/topic,27896.msg173144.html#msg173144
Logged
wittbo
Full Member
Posts: 150
Re: GetFormImage on MacOS generates black bitmap
«
Reply #3 on:
June 04, 2019, 11:13:43 am »
Sorry, but none of the solutions (GetFormimage, ...copyrect, ...) does work on MacOS. The Bitmap remains black.
I believe, it is a special MacOS problem(or cocoa): i will copy a link to this thread into the macos forum.
Logged
-wittbo-
MBAir with MacOS 10.14.6 / Lazarus 2.2.4
MacStudio with MacOS 13.0.1 / Lazarus 2.2.4
bylaardt
Sr. Member
Posts: 309
Re: GetFormImage on MacOS generates black bitmap
«
Reply #4 on:
June 04, 2019, 05:19:47 pm »
even paintto?
Logged
wittbo
Full Member
Posts: 150
Re: GetFormImage on MacOS generates black bitmap
«
Reply #5 on:
June 05, 2019, 10:39:47 am »
Skalogryz wrote in the correspondent macos thread:
that's easy. The function has not been implemented for cocoa yet
https://forum.lazarus.freepascal.org/index.php/topic,45606.0.html
Therefore actually no solution for Mac users.
Logged
-wittbo-
MBAir with MacOS 10.14.6 / Lazarus 2.2.4
MacStudio with MacOS 13.0.1 / Lazarus 2.2.4
bylaardt
Sr. Member
Posts: 309
Re: [Answered, no solution] GetFormImage on MacOS generates black bitmap
«
Reply #6 on:
June 05, 2019, 03:46:14 pm »
have you try?
Code: Pascal
[Select]
[+]
[-]
MyCapture
:
=
TBitMap
.
Create
(
application
)
;
MyCapture
.
SetSize
(
ClientWidth
,
ClientHeight
)
;
MyCapture
.
canvas
.
FillRect
(
0
,
0
,
ClientWidth
,
ClientHeight
)
;
self
.
PaintTo
(
MyCapture
.
canvas
,
0
,
0
)
;
MyCapture
.
SaveToFile
(
'/home/bylaardt/MyFormImage.bmp'
)
;
MyCapture
.
free
;
Logged
wittbo
Full Member
Posts: 150
Re: [Answered, no solution] GetFormImage on MacOS generates black bitmap
«
Reply #7 on:
June 06, 2019, 11:56:39 am »
Sorry, just tested.
But now the Image isn't black, now it's completely white.
Logged
-wittbo-
MBAir with MacOS 10.14.6 / Lazarus 2.2.4
MacStudio with MacOS 13.0.1 / Lazarus 2.2.4
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Graphics and Multimedia
»
Graphics
(Moderator:
Ask
) »
[Answered, no solution] GetFormImage on MacOS generates black bitmap
TinyPortal
© 2005-2018