<< Click to Display Table of Contents >> Navigation: 3. Script Language > Image/Pixel-Color Operations > GRA. - Picture/Image Commands > Image/Pixel-Color Operations |
MiniRobotLanguage (MRL)
GRA.convert Command
Convert Image
Intention
GRA.con will convert the format of an image into an other format. For this the Original image will be copied to a new file with another file extension.
The following file-Types can be specified as Source or destination file:
•BMP
•EMF
•JPG or JPEG
•GIF
•ICO
•PNG
•TIF or TIFF
•WMF
If you specify P$ then you can also specify a new file-resolution in X-direction. The resolution in Y-direction will automatically be calculated in a way that the original Apect-Ratio is been preserved.
To convert a .BMP-Picture to .JPG you could write:
' This will create a File MyPic.JPG on the Desktop
' Because this is where the Source file also comes
' from.
$$FIL=?desktop\MyPic.BMP
GRA.con|$$FIL|JPG
Instead of just writing the new Filetype as Destination, you can give a complete Filename and/or path.
GRA.con|$$FIL|?desktop\MyFile.BMP
' The following two commands let you see the STACK content.
DMP.6
MBX.!
Stack Usage / Return values:
Any GRA.-Operation will leave several values on the stack, depending on the success of the Operation.
Here is an Example:
Here is an explanation of the stack values:
Position: Explanation:
0 (TOS) Is 0 if the GRA.-Operation was successful. Any other value may indicate an error: 1 - Filename or Path Error. 2 - Parameter - Error.
1 Path and Filename of the converted destination file.
2 S:OK if all was fine or can be E:Error-Message if there was an Problem during the Operation. The following numbers specify the type of Error.
In case of an parameter error - or an unusable destination path - the stack will just look like this.
Syntax
GRA.con|P1|P2[|P3][|P4]
GRA.convert|P1|P2[|P3][|P4]
Parameter Explanation
P1 - Source file.
P2 - Destination File Path this can be:
a)complete path with Filename and extension
GRA.con|$$FIL|?desktop\MyFile.BMP|78|1280#
b)just the extension of the new file like "JPG"
GRA.con|$$FIL|BMP
c) Only a new Filename with Extension. In this case the Source-File Path is used for the destination file.
GRA.con|$$FIL|MyFile.BMP||1280#
d) Omit the filetype. In this case ".jpg" is used as default.
GRA.con|$$FIL|?desktop\MyFile
GRA.con|$$LAC|MyFile
P3 - (optional) JPG - Compression Quality from 1 to 100.
If parameter is omitted, "75" is taken.
P4 - X-Resolution of new Image. Y-Resolution is automatically choosen
using the Aspect-ratio of the Original Image.
If parameter is omitted, Original Image Resolution is taken.
Here you can specify the following 2 additional Parameters:
# - This will allow to upscale pictures to a higher resolution. If omitted, the maximum resolution is the Original resolution.
@ - This will force the Process to keep the original resolution of the Source file
Example:
' Activate Up-Scaler
GRA.con|$$FIL|?desktop\MyFile.BMP||1280#
' Force Original resolution
GRA.con|$$FIL|?desktop\MyFile.BMP|75|@
See above which values are placed on the Stack during the Operation.
Example
' Dieses Beispielscript muß kompiliert werden.
' zieht man dann eine Grafikdatei auf die Verknüpfung der kompilierten EXE-Datei,
' dann wird dort wo die Grafikdatrei liegt ein Ordner "SMall" erstellt und in
' diesen Ordner wird eine verkleinerte Kopie der Grafikdatei gelegt.
'
'***********************************
' +++ SF_Drag Pic_Scaler.mrt +++
' Zweck:
' erstellt am: 16.04.2018
' von: Theo Gottwald
'========================
'#EXE:?path\
'#SPI:ForceWrite
'#ICS:5
'#MAN:ai
'
MRK.2
' Ziel X- Auflösung,
' Y-Auflösung wird intern anhand Aspekt-Ratio berechnet
VAR.$$RES=503
' Qualitätseinstellung (1-100)
VAR.$$QUA=85
VAR.$$SRP=$cmdexe$
'VAR\$$SRP=?path\Kepler.jpg
VBT.$$SRP|"
'MBX\Bilder-Ordner: $crlf$$$SRP
NEF.$$SRP
GTO.enx
EIF.
GFT.c|$$SRP|$$PTH
VAR.$$DEP=$$PTH\Small
'MBX\$$DEP
MKD.$$DEP
'FEF\$$SRP|*.jpg|Doit|$$SRC
VAR.$$SRC=$$SRP
GSB.Doit
:enx
MBX.!
ENR.
:Doit
SBT.$$SRC|T:2 FS:14 MP: NC:
IVC.$$SRC=$$DEP|e
GTO.over
EIF.
GFT.je|$$SRC|$$EXT|$$FIN
' Dateiformat beibehalten
VAR.$$DES=$$DEP\$$FIN.$$EXT
' Immer nach "Jpg" Konvertieren
VAR.$$DES=$$DEP\$$FIN.jpg
'MBX.$$SRC$crlf$$$DES$crlf$$$QUA$crlf$$$RES
STV.TOVCLEAR|$$DUM
GRA.con|$$SRC|$$DES|$$QUA|$$RES
:over
RET.
Remarks
-
Limitations:
A Quadratic Image should be upscaled up to about 26000 Pixels X/Y-Size that is 676 MegPixel.
Larger sizes may work or fail, depending on the Memory Situation in Windows.
See also:
• 1.8. Selecting the Application (Topwindow)
• IPC. / NPC. - If-Pixel-Colour