LOADIMAGE: Difference between revisions
Jump to navigation
Jump to search
Code by Ted Weissgerber
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
(Created page with "{{DISPLAYTITLE:_LOADIMAGE}} The _LOADIMAGE function loads an image into memory and returns valid LONG image handle values that are less than -1. {{PageSyntax}} :{{Parameter|handle&}} = _LOADIMAGE({{Parameter|filename$}}[, {{Parameter|mode%}}]) {{Parameters}} *{{Parameter|filename$}} is literal or variable STRING file name value. *Optional {{Parameter|mode%}} INTEGER values can be: **32 = 32-bit **33 = hardware image {{PageDescription}} *Var...") |
No edit summary |
||
Line 47: | Line 47: | ||
{{CodeStart}} | {{CodeStart}} | ||
{{Cl|SCREEN (statement)|SCREEN}} {{Cl|_NEWIMAGE}}(800, 600, 32) | {{Cl|SCREEN (statement)|SCREEN}} {{Cl|_NEWIMAGE}}(800, 600, 32) | ||
img& = {{Cl|_LOADIMAGE}}("QB64.PNG") ' | img& = {{Cl|_LOADIMAGE}}("QB64.PNG") 'use any 24/32 bit image | ||
wide% = {{Cl|_WIDTH (function)|_WIDTH}}(img&): deep% = {{Cl|_HEIGHT}}(img&) | wide% = {{Cl|_WIDTH (function)|_WIDTH}}(img&): deep% = {{Cl|_HEIGHT}}(img&) | ||
Line 69: | Line 69: | ||
{{CodeEnd}} | {{CodeEnd}} | ||
{{small|Code by Ted Weissgerber}} | {{small|Code by Ted Weissgerber}} | ||
Revision as of 22:27, 21 April 2022
The _LOADIMAGE function loads an image into memory and returns valid LONG image handle values that are less than -1.
Syntax
- handle& = _LOADIMAGE(filename$[, mode%])
- filename$ is literal or variable STRING file name value.
- Optional mode% INTEGER values can be:
- 32 = 32-bit
- 33 = hardware image
Description
- Various common image file formats supported, like BMP, JPG, PNG, etc. A path can also be given.
- The mode% can designate 32-bit color or 33 (version 1.000 and up). Omit to use the current graphic screen settings.
- Mode 33 images are hardware accelerated and are created using _LOADIMAGE or _COPYIMAGE (version 1.000 and up).
- Loaded images can be read invisibly using POINT. Image coordinates start at 0 up to the _WIDTH - 1 and _HEIGHT - 1.
- Images can be made into a program SCREEN or page adopting the size and palette settings or placed using _PUTIMAGE.
- Returns -1 as an invalid handle if it can't load the image. Valid LONG handle returns are less than -1 (handle& < -1).
- Valid images only need to be loaded once. The handle can be used repeatedly until freed.
- Images are not deallocated when the SUB or FUNCTION they are created in ends. Free them with _FREEIMAGE.
- Some picture file images may not load when a mode% value is designated. Try loading it without a mode% designation.
- It is important to free unused or discarded images with _FREEIMAGE to prevent CPU memory overflow errors.
- In text-only SCREEN 0, mode% 32 must be specified. When loading an _ICON image use 32 for the mode% too.
Examples
Example 1: To display an image in 32-bit color using its resolution as a program screen:
i& = _LOADIMAGE("mypic.jpg", 32) SCREEN i& |
Example 2: DRAWing and rotating an image 360 degrees using Turn Angle. POINT is used to read the invisible image source.
SCREEN _NEWIMAGE(800, 600, 32) img& = _LOADIMAGE("QB64.PNG") 'use any 24/32 bit image wide% = _WIDTH(img&): deep% = _HEIGHT(img&) TLC$ = "BL" + STR$(wide% \ 2) + "BU" + STR$(deep% \ 2) 'start draw at top left corner RET$ = "BD BL" + STR$(wide%) 'return to left side of image _SOURCE img& _DEST 0 DO FOR angle% = 0 TO 360 STEP 15 CLS DRAW "BM400, 300" + "TA=" + VARPTR$(angle%) + TLC$ FOR y = 0 TO deep% - 1 FOR x = 0 TO wide% - 1 DRAW "C" + STR$(POINT(x, y)) + "R1" 'color and DRAW each pixel NEXT DRAW RET$ NEXT _DISPLAY 'NOTE: CPU usage will be HIGH! NEXT LOOP UNTIL INKEY$ > "" |
More examples
- SAVEIMAGE (QB64 Image to Bitmap SUB by Galleon)
- Program ScreenShots (Member-contributed program for legacy screen modes)
- ThirtyTwoBit SUB (QB64 Image area to bitmap)
See also
- _FREEIMAGE, _ICON
- _PUTIMAGE, _MAPTRIANGLE
- _NEWIMAGE, _COPYIMAGE
- _PRINTIMAGE (printer)
- _PALETTECOLOR (function), _COPYPALETTE, _ICON
- SCREEN (statement)
- Hardware images
- Bitmaps, Icons and Cursors, GIF Images