In ImageMeter, you can define some texts yourself, for example the titles for new images and folders, image notes, or the image titles in the PDF output. These could be simple, fixed names like "New folder", but in most cases, you probably want to have dynamic parts in the name, like the current date or the filename of the loaded image. Text variables make this possible as they are replaced in each case by the current value.
Text variables are written within curly braces '{ }'. Everything outside of these parentheses is normal, verbatim text. For example, to insert the current date, you can use the text variable '{now}'. The title definition would then read like this:
Image from {now}
When inserting an image, '{now}' will be automatically replaced with the current date. Hence, the title will be like this:
Image from 23/Apr/2021
Variables can contain sub-variables. These can be used, for example, to access specific parts of a date (year, month, day, time). The sub-variable is appended to the variable, separated by a dot '.' like this:
Image from the year {now.yyyy}
This is produce a title of this form:
Image from the year 2021
Which sub-variables are allowed is listed in the section `Reference` further down on this page. You can also write chains of several sub-variables if the sub-variables have sub-variables themselves:
Latitude: {image.exif.gps.latitude}
Some variables (e.g., 'exif', 'image', or 'folder') have no sensible output themselves, but only through their sub-variables. For example, '{exif}' does not produce sensible output, but '{exif.gps}' does.
The following list shows the variables possible in a text expression:
Name | Type | Description |
now | date | The current date (not necessarily the image capturing date). |
filename | filename | Filename of the input file |
page | integer number | Imported PDF page number |
exif | EXIF | EXIF data of the image |
folder | folder | The current folder |
image | image | The current image |
Note that not all variables are allowed in all places as they might not make always make sense. For example, when defining the text for new folders, there is no input filename and thus no '{filename}' variable. If you are using an invalid variable name or if a variable is not defined for some reason (e.g. the input image has no EXIF data), the text 'undefined' will be written at its place.
The following tables show the sub-variables available for each variable type and the output of the variable itself. The elementary data types (text, number) have no sub-variables.
Output: image title. I.e. the same as {*.title}
Sub-variable | Type | Description |
title | text | Image title |
parent | folder | Folder in which the image is located |
number | integer number | The assigned image number |
exif | EXIF | The EXIF data of the image |
capture_date | date | Capture date, independent from the EXIF data |
Output: folder title. I.e. the same as {*.title}
Sub-variable | Type | Description |
title | text | Folder title |
parent | folder | The parent folder |
Output: full filename with suffix
Sub-variable | Type | Description |
stem | text | Filename without suffix |
suffix | text | The suffix of the filename |
Output: undefined
Sub-variable | Type | Description |
gps | GPS | GPS coordinate where the image was captured |
date | date | Capture date |
make | text | Camera manufacturer |
model | text | Camera model |
Output: coordinates consisting of latitude and longitude, but no height.
Sub-variable | Type | Description |
latitude | gps-angle | Latitude (N/S direction) |
longitude | gps-angle | Longitude (O/W direction) |
altitude | text | Altitude in meters (above sea level) |
numeric | text | Latitude/longitude as a pair of numbers (e.g.: 44.336;10.254) |
Output: coordinate in a 44° 20" 10' N format.
Sub-variable | Type | Description |
numeric | text | Write as decimal number instead (44.336) |
Output: date without time. For example: "23/Apr/2021".
Sub-variable | Type | Description |
yyyy | text | Year (4 digits) |
yy | text | Year (last 2 digits) |
m | integer number | Month as number |
mm | text | Monat as 2-digit number |
M | text | Monat as abbreviation |
MM | text | Monat as full name |
d | integer number | Day |
dd | text | Day as 2-digit number |
h | integer number | Hour |
hh | text | Hour as 2-digit number |
h12 | text | Hour (12 hours + am/pm) |
min | text | Minutes as 2-digit number |
sec | text | Seconds as 2-digit number |
time | text | Full time in HH:MM:SS format |
hhmm | text | Time in HH:MM format |
Output: the number.
Sub-variable | Type | Description |
2 | text | Output as 2-digit number |
3 | text | Output as 3-digit number |
4 | text | Output as 4-digit number |
If you would like to use curly braces '{ }' in your output, you have to precede them with a backslash '\'. This is also needed if you want to write a '\' itself.
Spaces are not allowed in a variable expression. The text input of Android often inserts a space automatically after a dot. Make sure to remove those spaces.