mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			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.py 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: ``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.py again   *
 | |
|  ************************************************************************/
 |