QgsImageCache class
A cache for images derived from raster files.
Contents
QgsImageCache stores pre-rendered resampled versions of raster image files, allowing efficient reuse without incurring the cost of resampling on every render.
QgsImageCache is not usually directly created, but rather accessed through QgsApplication::
Base classes
-
template<class T>class QgsAbstractContentCache
- Abstract base class for file content caches, such as SVG or raster image caches.
Constructors, destructors, conversion operators
- QgsImageCache(QObject* parent = nullptr)
- Constructor for QgsImageCache, with the specified parent object.
Public functions
- auto originalSize(const QString& path) const -> QSize
- Returns the original size (in pixels) of the image at the specified path.
- auto pathAsImage(const QString& path, const QSize size, const bool keepAspectRatio, const double opacity, bool& fitsInCache) -> QImage
- Returns the specified path rendered as an image.
Signals
- void remoteImageFetched(const QString& url)
- Emitted when the cache has finished retrieving an image file from a remote url.
Function documentation
QSize QgsImageCache:: originalSize(const QString& path) const
Returns the original size (in pixels) of the image at the specified path.
path may be a local file, remote (HTTP) url, or a base 64 encoded string (with a "base64:" prefix).
If path is a remote file, then an invalid size may be returned while the image is in the process of being fetched.
If the image could not be read then an invalid QSize is returned.
QImage QgsImageCache:: pathAsImage(const QString& path,
const QSize size,
const bool keepAspectRatio,
const double opacity,
bool& fitsInCache)
Returns the specified path rendered as an image.
If possible, a pre-existing cached version of the image will be used. If not, the image is fetched and resampled to the desired size, and then the result cached for subsequent lookups.
path may be a local file, remote (HTTP) url, or a base 64 encoded string (with a "base64:" prefix).
The size parameter dictates the target size of the image. An invalid size indicates the original raster image size (with no resampling). A size in which the width or height is set to zero will have the zeroed value automatically computed when keepAspectRatio is true.
If keepAspectRatio is true, then the original raster aspect ratio will be maintained during any resampling operations.
An opacity parameter dictates the opacity of the image.
If the resultant raster was of a sufficiently small size to store in the cache, then fitsInCache will be set to true.