mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	Instead of always defaulting to 100mb, then base the cache size on the system memory: - > 32gb, use 500mb - 16-32gb, use 250mb - else 100mb The larger sizes can make a big difference to rendering speed for complex projects, so let's let powerful systems utilise all that memory! (Only supported on linux for now)
		
			
				
	
	
		
			145 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			6.7 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
 | 
						|
 | 
						|
    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
 | 
						|
 | 
						|
  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   *
 | 
						|
 ************************************************************************/
 |