CLIPBOARDIMAGE: Difference between revisions
Jump to navigation
Jump to search
Example by Fellippe Heitor
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 11: | Line 11: | ||
* You can pass [[_SOURCE]], [[_DEST]] or [[_DISPLAY]] to copy the current source, destination or active display pages, as long as they are valid graphic images. | * You can pass [[_SOURCE]], [[_DEST]] or [[_DISPLAY]] to copy the current source, destination or active display pages, as long as they are valid graphic images. | ||
* SCREEN 0 handles (created either with [[_NEWIMAGE]] or passed using _DEST while in a text screen) are not valid and will create an [[ERROR Codes|Illegal Function Call]] or [[ERROR Codes|Invalid Handle]] error. | * SCREEN 0 handles (created either with [[_NEWIMAGE]] or passed using _DEST while in a text screen) are not valid and will create an [[ERROR Codes|Illegal Function Call]] or [[ERROR Codes|Invalid Handle]] error. | ||
{{PageAvailability}} | {{PageAvailability}} | ||
* ''' | <!-- QB64 = a version or none, QBPE = a version or all, Platforms = yes or no --> | ||
<gallery widths="48px" heights="48px" mode="nolines"> | |||
File:Qb64.png|'''v1.2''' | |||
File:Qbpe.png|'''all''' | |||
File:Apix.png | |||
File:Win.png|'''yes''' | |||
File:Lnx.png|'''yes''' | |||
File:Osx.png|'''yes''' | |||
</gallery> | |||
<!-- additional availability notes go below here --> | |||
* Available for ''macOS'' and ''Linux'' since '''QB64-PE v3.13.0''' | |||
{{PageExamples}} | {{PageExamples}} | ||
;Example: Create a sample image and copy it to the clipboard: | |||
{{CodeStart}}{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(800, 600, 32) | {{CodeStart}} | ||
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}({{Text|800|#F580B1}}, {{Text|600|#F580B1}}, {{Text|32|#F580B1}}) | |||
'Create image in memory: | {{Text|<nowiki>'Create image in memory:</nowiki>|#919191}} | ||
canvas& = {{Cl|_NEWIMAGE}}(300, 200, 32) | canvas& = {{Cl|_NEWIMAGE}}({{Text|300|#F580B1}}, {{Text|200|#F580B1}}, {{Text|32|#F580B1}}) | ||
{{Cl|_DEST}} canvas& | {{Cl|_DEST}} canvas& | ||
'Draw some random rectangles: | {{Text|<nowiki>'Draw some random rectangles:</nowiki>|#919191}} | ||
{{Cl|RANDOMIZE}} {{Cl|TIMER (function)|TIMER}} | {{Cl|RANDOMIZE}} {{Cl|TIMER (function)|TIMER}} | ||
{{Cl|FOR}} i = 1 {{Cl|TO}} 100 | {{Cl|FOR}} i = {{Text|1|#F580B1}} {{Cl|TO}} {{Text|100|#F580B1}} | ||
{{Cl|LINE}} (-100 + RND * _WIDTH, -100 + RND * _HEIGHT)-STEP(RND * 150, RND * 150), _RGB(RND * 255, RND * 255, RND * 255), BF | {{Cl|LINE}} ({{Text|-100|#F580B1}} + {{Cl|RND}} * {{Cl|_WIDTH (function)|_WIDTH}}, {{Text|-100|#F580B1}} + {{Cl|RND}} * {{Cl|_HEIGHT}})-{{Cl|STEP}}({{Cl|RND}} * {{Text|150|#F580B1}}, {{Cl|RND}} * {{Text|150|#F580B1}}), {{Cl|_RGB}}({{Cl|RND}} * {{Text|255|#F580B1}}, {{Cl|RND}} * {{Text|255|#F580B1}}, {{Cl|RND}} * {{Text|255|#F580B1}}), BF | ||
{{Cl|NEXT}} | {{Cl|NEXT}} | ||
LINE (0, 0)-(_WIDTH - 1, _HEIGHT - 1), _RGB(255, 255, 255), B | {{Cl|LINE}} ({{Text|0|#F580B1}}, {{Text|0|#F580B1}})-({{Cl|_WIDTH (function)|_WIDTH}} - {{Text|1|#F580B1}}, {{Cl|_HEIGHT}} - {{Text|1|#F580B1}}), {{Cl|_RGB}}({{Text|255|#F580B1}}, {{Text|255|#F580B1}}, {{Text|255|#F580B1}}), B | ||
{{Cl|COLOR}} {{Cl|_RGB}}(0, 0, 0), _RGB(255, 255, 255) | {{Cl|COLOR}} {{Cl|_RGB}}({{Text|0|#F580B1}}, {{Text|0|#F580B1}}, {{Text|0|#F580B1}}), {{Cl|_RGB}}({{Text|255|#F580B1}}, {{Text|255|#F580B1}}, {{Text|255|#F580B1}}) | ||
m$ = " Hello, world! " | m$ = {{Text|<nowiki>" Hello, world! "</nowiki>|#FFB100}} | ||
{{Cl|_PRINTSTRING}} (_WIDTH / 2 - _PRINTWIDTH(m$) / 2, _HEIGHT / 2 - _FONTHEIGHT / 2), m$ | {{Cl|_PRINTSTRING}} ({{Cl|_WIDTH (function)|_WIDTH}} / {{Text|2|#F580B1}} - {{Cl|_PRINTWIDTH}}(m$) / {{Text|2|#F580B1}}, {{Cl|_HEIGHT}} / {{Text|2|#F580B1}} - {{Cl|_FONTHEIGHT}} / {{Text|2|#F580B1}}), m$ | ||
'Show the image: | {{Text|<nowiki>'Show the image:</nowiki>|#919191}} | ||
{{Cl|_DEST}} 0 | {{Cl|_DEST}} {{Text|0|#F580B1}} | ||
{{Cl|_PUTIMAGE}} (_WIDTH / 2 - _WIDTH(canvas&) / 2, _HEIGHT / 2 - _HEIGHT(canvas&) / 2), canvas& | {{Cl|_PUTIMAGE}} ({{Cl|_WIDTH (function)|_WIDTH}} / {{Text|2|#F580B1}} - {{Cl|_WIDTH (function)|_WIDTH}}(canvas&) / {{Text|2|#F580B1}}, {{Cl|_HEIGHT}} / {{Text|2|#F580B1}} - {{Cl|_HEIGHT}}(canvas&) / {{Text|2|#F580B1}}), canvas& | ||
{{Cl|PRINT}} "Image generated." | {{Cl|PRINT}} {{Text|<nowiki>"Image generated."</nowiki>|#FFB100}} | ||
'Copy to the clipboard: | {{Text|<nowiki>'Copy to the clipboard:</nowiki>|#919191}} | ||
{{Cl|_CLIPBOARDIMAGE}} = canvas& | {{Cl|_CLIPBOARDIMAGE}} = canvas& | ||
PRINT "Image copied to clipboard." | {{Cl|PRINT}} {{Text|<nowiki>"Image copied to clipboard."</nowiki>|#FFB100}} | ||
{{CodeEnd}} | {{CodeEnd}} | ||
{{Small| | {{Small|Example by Fellippe Heitor}} | ||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [[_CLIPBOARDIMAGE (function)|_CLIPBOARDIMAGE]] {{Text|(function - used to paste an image from the clipboard)}} | * [[_CLIPBOARDIMAGE (function)|_CLIPBOARDIMAGE]] {{Text|(function - used to paste an image from the clipboard)}} | ||
* [[_CLIPBOARD$]], [[_CLIPBOARD$ ( | * [[_CLIPBOARD$]], [[_CLIPBOARD$ (function)]] {{Text|(used to copy/paste text)}} | ||
{{PageNavigation}} | {{PageNavigation}} |
Latest revision as of 14:58, 6 April 2024
The _CLIPBOARDIMAGE statement copies a valid QB64 image to the clipboard.
Syntax
- _CLIPBOARDIMAGE = existingImageHandle&
Description
- existingImageHandle& is a valid handle to a graphic QB64 image in memory, created with _NEWIMAGE, _LOADIMAGE or _COPYIMAGE.
- You can pass _SOURCE, _DEST or _DISPLAY to copy the current source, destination or active display pages, as long as they are valid graphic images.
- SCREEN 0 handles (created either with _NEWIMAGE or passed using _DEST while in a text screen) are not valid and will create an Illegal Function Call or Invalid Handle error.
Availability
- Available for macOS and Linux since QB64-PE v3.13.0
Examples
- Example
- Create a sample image and copy it to the clipboard:
SCREEN _NEWIMAGE(800, 600, 32) 'Create image in memory: canvas& = _NEWIMAGE(300, 200, 32) _DEST canvas& 'Draw some random rectangles: RANDOMIZE TIMER FOR i = 1 TO 100 LINE (-100 + RND * _WIDTH, -100 + RND * _HEIGHT)-STEP(RND * 150, RND * 150), _RGB(RND * 255, RND * 255, RND * 255), BF NEXT LINE (0, 0)-(_WIDTH - 1, _HEIGHT - 1), _RGB(255, 255, 255), B COLOR _RGB(0, 0, 0), _RGB(255, 255, 255) m$ = " Hello, world! " _PRINTSTRING (_WIDTH / 2 - _PRINTWIDTH(m$) / 2, _HEIGHT / 2 - _FONTHEIGHT / 2), m$ 'Show the image: _DEST 0 _PUTIMAGE (_WIDTH / 2 - _WIDTH(canvas&) / 2, _HEIGHT / 2 - _HEIGHT(canvas&) / 2), canvas& PRINT "Image generated." 'Copy to the clipboard: _CLIPBOARDIMAGE = canvas& PRINT "Image copied to clipboard." |
See also
- _CLIPBOARDIMAGE (function - used to paste an image from the clipboard)
- _CLIPBOARD$, _CLIPBOARD$ (function) (used to copy/paste text)