SCREENIMAGE: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
{{PageSyntax}} | {{PageSyntax}} | ||
: {{Parameter|imageHandle&}} = [[_SCREENIMAGE]]({{Parameter|column1}}, {{Parameter|row1}}, {{Parameter|column2}}, {{Parameter|row2}})] | : {{Parameter|imageHandle&}} = [[_SCREENIMAGE]][({{Parameter|column1}}, {{Parameter|row1}}, {{Parameter|column2}}, {{Parameter|row2}})] | ||
Line 10: | Line 10: | ||
* {{Parameter|imageHandle&}} is the handle to the new image in memory that will contain the desktop screenshot. | * {{Parameter|imageHandle&}} is the handle to the new image in memory that will contain the desktop screenshot. | ||
* The optional screen {{Parameter|column}} and {{Parameter|row}} positions can be used to get only a portion of the desktop image. | * The optional screen {{Parameter|column}} and {{Parameter|row}} positions can be used to get only a portion of the desktop image. | ||
* The desktop image or partial image is always a 32-bit image. | * The desktop image or partial image is always a 32-bit image. | ||
* The current screen resolution or width-to-height aspect ratio can be obtained with [[_DESKTOPWIDTH]] and [[_DESKTOPHEIGHT]]. | * The current screen resolution or width-to-height aspect ratio can be obtained with [[_DESKTOPWIDTH]] and [[_DESKTOPHEIGHT]]. | ||
* Can be used to take screenshots of the desktop or used with [[_PRINTIMAGE]] to print them. | * Can be used to take screenshots of the desktop or used with [[_PRINTIMAGE]] to print them. | ||
* It is important to free unused or uneeded image handles with [[_FREEIMAGE]] to prevent memory overflow errors. | * It is important to free unused or uneeded image handles with [[_FREEIMAGE]] to prevent memory overflow errors. | ||
* [[ | * '''[[Keywords currently not supported by QB64#Keywords_not_supported_in_Linux_or_macOS_versions|Keyword not supported in Linux or macOS versions]]''' | ||
Line 24: | Line 24: | ||
MaxScreenY& = {{Cl|_HEIGHT}}(desktop&) | MaxScreenY& = {{Cl|_HEIGHT}}(desktop&) | ||
{{Cl|_FREEIMAGE}} desktop& 'free image after measuring screen(it is not displayed) | {{Cl|_FREEIMAGE}} desktop& 'free image after measuring screen(it is not displayed) | ||
{{Cl | {{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(MaxScreenX&, MaxScreenY&, 256) 'program window is sized to fit | ||
{{Cl|_SCREENMOVE}} _MIDDLE | {{Cl|_SCREENMOVE}} _MIDDLE | ||
{{CodeEnd}} | {{CodeEnd}} | ||
=== Sample code to save images to disk === | |||
===Sample code to save images to disk=== | * [[SaveImage SUB]] | ||
*[[ | * [[Program ScreenShots]] (member-contributed program for legacy screen modes) | ||
*[[Program ScreenShots]] (member-contributed program for legacy screen modes) | |||
* [[ThirtyTwoBit SUB]] | * [[ThirtyTwoBit SUB]] | ||
* [[SaveIcon32]] | * [[SaveIcon32]] | ||
Line 49: | Line 47: | ||
{{PageNavigation}} | {{PageNavigation}} | ||
Latest revision as of 20:05, 5 January 2024
The _SCREENIMAGE function stores the current desktop image or a portion of it and returns an image handle.
Syntax
- imageHandle& = _SCREENIMAGE[(column1, row1, column2, row2)]
Description
- imageHandle& is the handle to the new image in memory that will contain the desktop screenshot.
- The optional screen column and row positions can be used to get only a portion of the desktop image.
- The desktop image or partial image is always a 32-bit image.
- The current screen resolution or width-to-height aspect ratio can be obtained with _DESKTOPWIDTH and _DESKTOPHEIGHT.
- Can be used to take screenshots of the desktop or used with _PRINTIMAGE to print them.
- It is important to free unused or uneeded image handles with _FREEIMAGE to prevent memory overflow errors.
- Keyword not supported in Linux or macOS versions
Examples
Example: Determining the present screen resolution of user's PC for a screensaver program.
desktop& = _SCREENIMAGE MaxScreenX& = _WIDTH(desktop&) MaxScreenY& = _HEIGHT(desktop&) _FREEIMAGE desktop& 'free image after measuring screen(it is not displayed) SCREEN _NEWIMAGE(MaxScreenX&, MaxScreenY&, 256) 'program window is sized to fit _SCREENMOVE _MIDDLE |
Sample code to save images to disk
- SaveImage SUB
- Program ScreenShots (member-contributed program for legacy screen modes)
- ThirtyTwoBit SUB
- SaveIcon32
See also
- _SCREENCLICK, _SCREENPRINT
- _SCREENMOVE, _SCREENX, _SCREENY
- _WIDTH, _HEIGHT
- _DESKTOPWIDTH, _DESKTOPHEIGHT
- _FULLSCREEN, _PRINTIMAGE
- Screen Saver Programs
- Bitmaps, Icons and Cursors
- Hardware images