mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
all frames from the animation to a temporary directory This avoids lengthy delays when trying to render a specific frame from the animation, as most animation formats require us to iterate through all preceding frames in order to retrieve a specific frame. By iterating once in advance and saving the results out we gain instant access to any individual frame from the animation.
155 lines
6.9 KiB
Plaintext
155 lines
6.9 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsimagecache.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsImageCache : QgsAbstractContentCacheBase
|
|
{
|
|
%Docstring(signature="appended")
|
|
A cache for images derived from raster files.
|
|
|
|
:py:class:`QgsImageCache` stores pre-rendered resampled versions of raster image files, allowing efficient
|
|
reuse without incurring the cost of resampling on every render.
|
|
|
|
:py:class:`QgsImageCache` is not usually directly created, but rather accessed through
|
|
:py:func:`QgsApplication.imageCache()`.
|
|
|
|
.. versionadded:: 3.6
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsimagecache.h"
|
|
%End
|
|
public:
|
|
|
|
QgsImageCache( QObject *parent /TransferThis/ = 0 );
|
|
%Docstring
|
|
Constructor for QgsImageCache, with the specified ``parent`` object.
|
|
%End
|
|
|
|
~QgsImageCache();
|
|
|
|
long maximumSize() const;
|
|
%Docstring
|
|
Returns the maximum size of the cache, in bytes.
|
|
|
|
.. versionadded:: 3.26
|
|
%End
|
|
|
|
QImage pathAsImage( const QString &path, const QSize size, const bool keepAspectRatio, const double opacity, bool &fitsInCache /Out/, bool blocking = false, double targetDpi = 96, int frameNumber = -1);
|
|
%Docstring
|
|
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.
|
|
|
|
:param path: may be a local file, remote (HTTP) url, or a base 64 encoded string (with a "base64:" prefix).
|
|
:param size: 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``.
|
|
:param keepAspectRatio: if ``True`` then the original raster aspect ratio will be maintained during
|
|
any resampling operations.
|
|
:param opacity: dictates the opacity of the image (between 0 and 1).
|
|
:param blocking: if ``True``, forces to wait for loading before returning image. The content is loaded
|
|
in the same thread to ensure provided the image. WARNING: the ``blocking`` parameter must NEVER
|
|
be ``True`` from GUI based applications (like the main QGIS application) or crashes will result. Only for
|
|
use in external scripts or QGIS server.
|
|
:param targetDpi: (since QGIS 3.22) can be used to specify an explicit DPI to render the image
|
|
at. This is used for some image formats (e.g. PDF) to ensure that content is rendered at the desired
|
|
DPI. This argument is only used when an invalid ``size`` argument is specified. If a valid ``size`` is
|
|
specified then the image will always be rendered at this size, regardless of the ``targetDpi``.
|
|
:param frameNumber: (since QGIS 3.26) specifies a frame number for image formats which support
|
|
animations. This should be set to -1 if not required.
|
|
|
|
:return: - rendered image
|
|
- fitsInCache: will be set to ``True`` if the resultant raster was of a sufficiently small size to store in the cache
|
|
%End
|
|
|
|
QSize originalSize( const QString &path, bool blocking = false ) const;
|
|
%Docstring
|
|
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.
|
|
|
|
The ``blocking`` boolean forces to wait for loading before returning the original size. The content is loaded
|
|
in the same thread to ensure provided the original size. WARNING: the ``blocking`` parameter must NEVER
|
|
be ``True`` from GUI based applications (like the main QGIS application) or crashes will result. Only for
|
|
use in external scripts or QGIS server.
|
|
|
|
If the image could not be read then an invalid QSize is returned.
|
|
%End
|
|
|
|
int totalFrameCount( const QString &path, bool blocking = false );
|
|
%Docstring
|
|
Returns the total frame count 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 -1 may be returned while the image is in the process
|
|
of being fetched.
|
|
|
|
The ``blocking`` boolean forces to wait for loading before returning the frame count. The content is loaded
|
|
in the same thread to ensure provided the original size. WARNING: the ``blocking`` parameter must NEVER
|
|
be ``True`` from GUI based applications (like the main QGIS application) or crashes will result. Only for
|
|
use in external scripts or QGIS server.
|
|
|
|
If the image could not be read or is not an animated format then -1 is returned
|
|
|
|
.. versionadded:: 3.26
|
|
%End
|
|
|
|
int nextFrameDelay( const QString &path, int currentFrame = 0, bool blocking = false );
|
|
%Docstring
|
|
For image formats that support animation, this function returns the number of milliseconds to wait
|
|
until displaying the next frame in the animation. If the image format doesn't support animation, 0 is returned.
|
|
|
|
``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 -1 may be returned while the image is in the process
|
|
of being fetched.
|
|
|
|
The ``blocking`` boolean forces to wait for loading before returning the frame delay. The content is loaded
|
|
in the same thread to ensure provided the original size. WARNING: the ``blocking`` parameter must NEVER
|
|
be ``True`` from GUI based applications (like the main QGIS application) or crashes will result. Only for
|
|
use in external scripts or QGIS server.
|
|
|
|
If the image could not be read or is not an animated format then -1 is returned.
|
|
|
|
.. versionadded:: 3.26
|
|
%End
|
|
|
|
void prepareAnimation( const QString &path );
|
|
%Docstring
|
|
Prepares for optimized retrieval of frames for the animation at the given ``path``.
|
|
|
|
.. versionadded:: 3.26
|
|
%End
|
|
|
|
signals:
|
|
|
|
void remoteImageFetched( const QString &url );
|
|
%Docstring
|
|
Emitted when the cache has finished retrieving an image file from a remote ``url``.
|
|
%End
|
|
|
|
};
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsimagecache.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|