CLIPBOARDIMAGE (function): Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 19: Line 19:
{{PageExamples}}
{{PageExamples}}
''Example:'' Monitoring the clipboard for new images copied from other programs:
''Example:'' Monitoring the clipboard for new images copied from other programs:
{{CodeStart}}{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(800, 600, 32)
{{CodeStart}}
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}({{Text|800|#F580B1}}, {{Text|600|#F580B1}}, {{Text|32|#F580B1}})
{{Cl|DO}}
{{Cl|DO}}
     {{Cl|CLS}}
     {{Cl|CLS}}
     {{Cl|COLOR}} {{Cl|_RGB32}}(177, 177, 177)
     {{Cl|COLOR}} {{Cl|_RGB32}}({{Text|177|#F580B1}}, {{Text|177|#F580B1}}, {{Text|177|#F580B1}})
     {{Cl|PRINT}} "Monitoring clipboard..."
     {{Cl|PRINT}} {{Text|<nowiki>"Monitoring clipboard..."</nowiki>|#FFB100}}
     {{Cl|IF}} img& < -1 {{Cl|THEN}} _FREEIMAGE img&
     {{Cl|IF}} img& < {{Text|-1|#F580B1}} {{Cl|THEN}} {{Cl|_FREEIMAGE}} img&
     img& = {{Cl|_CLIPBOARDIMAGE}}
     img& = {{Cl|_CLIPBOARDIMAGE (function)|_CLIPBOARDIMAGE}}
     IF img& < -1 THEN
     {{Cl|IF}} img& < {{Text|-1|#F580B1}} {{Cl|THEN}}
         {{Cl|PRINT}} "Image found:"
         {{Cl|PRINT}} {{Text|<nowiki>"Image found:"</nowiki>|#FFB100}}
         {{Cl|COLOR}} _RGB32(255, 255, 255)
         {{Cl|COLOR}} {{Cl|_RGB32}}({{Text|255|#F580B1}}, {{Text|255|#F580B1}}, {{Text|255|#F580B1}})
         {{Cl|PRINT}} "Width :"; {{Cl|_WIDTH (function)|_WIDTH}}(img&)
         {{Cl|PRINT}} {{Text|<nowiki>"Width :"</nowiki>|#FFB100}}; {{Cl|_WIDTH (function)|_WIDTH}}(img&)
         {{Cl|PRINT}} "Height:"; {{Cl|_HEIGHT|_HEIGHT}}(img&)
         {{Cl|PRINT}} {{Text|<nowiki>"Height:"</nowiki>|#FFB100}}; {{Cl|_HEIGHT}}(img&)
         w = {{Cl|_WIDTH (function)|_WIDTH}} / 2 - {{Cl|_WIDTH (function)|_WIDTH}}(img&) / 2
         w = {{Cl|_WIDTH (function)|_WIDTH}} / {{Text|2|#F580B1}} - {{Cl|_WIDTH (function)|_WIDTH}}(img&) / {{Text|2|#F580B1}}
         IF w < 0 THEN w = 0
         {{Cl|IF}} w < {{Text|0|#F580B1}} {{Cl|THEN}} w = {{Text|0|#F580B1}}
         {{Cl|_PUTIMAGE}} (w, {{Cl|CSRLIN}} * {{Cl|_FONTHEIGHT}}), img&
         {{Cl|_PUTIMAGE}} (w, {{Cl|CSRLIN}} * {{Cl|_FONTHEIGHT}}), img&
     ELSE
     {{Cl|ELSE}}
         PRINT "No image found."
         {{Cl|PRINT}} {{Text|<nowiki>"No image found."</nowiki>|#FFB100}}
     END IF
     {{Cl|END IF}}
     {{Cl|_DISPLAY}}
     {{Cl|_DISPLAY}}
     {{Cl|_LIMIT}} 10
     {{Cl|_LIMIT}} {{Text|10|#F580B1}}
{{Cl|LOOP}}
{{Cl|LOOP}}
{{CodeEnd}}
{{CodeEnd}}

Revision as of 21:20, 20 March 2023

The _CLIPBOARDIMAGE function pastes an image from the clipboard into a new 32-bit image in memory.


Syntax

newImageHandle& = _CLIPBOARDIMAGE


Description

  • When the paste operation is successful, newImageHandle& will be < -1. Handle values of -1 or 0 indicate that there wasn't an image in the clipboard or that the format wasn't accepted.
  • Use _FREEIMAGE to free the memory used by newImageHandle& when it's no longer needed by your program.
  • Keyword not supported in Linux or macOS versions


Availability

  • Build 20170906/64 onward.


Examples

Example: Monitoring the clipboard for new images copied from other programs:

SCREEN _NEWIMAGE(800, 600, 32)
DO
    CLS
    COLOR _RGB32(177, 177, 177)
    PRINT "Monitoring clipboard..."
    IF img& < -1 THEN _FREEIMAGE img&
    img& = _CLIPBOARDIMAGE
    IF img& < -1 THEN
        PRINT "Image found:"
        COLOR _RGB32(255, 255, 255)
        PRINT "Width :"; _WIDTH(img&)
        PRINT "Height:"; _HEIGHT(img&)
        w = _WIDTH / 2 - _WIDTH(img&) / 2
        IF w < 0 THEN w = 0
        _PUTIMAGE (w, CSRLIN * _FONTHEIGHT), img&
    ELSE
        PRINT "No image found."
    END IF
    _DISPLAY
    _LIMIT 10
LOOP
Code by Fellippe Heitor


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link