PictureFillSymbolLayer Class

  • PictureFillSymbolLayer
  • class Esri::ArcGISRuntime::PictureFillSymbolLayer

    A symbol layer that fills polygon geometry with an image. The specified image fills the layer's polygon if it is the only symbol layer in a MultilayerPolygonSymbol. If a single image does not completely fill the geometry, it is tiled to complete the fill. More...

    Header: #include <PictureFillSymbolLayer.h>
    Since: Esri::ArcGISRuntime 100.5
    Inherits: Esri::ArcGISRuntime::FillSymbolLayer, Esri::ArcGISRuntime::Loadable, and Esri::ArcGISRuntime::RemoteResource

    Public Functions

    PictureFillSymbolLayer(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
    PictureFillSymbolLayer(const QUrl &url, QObject *parent = nullptr)
    PictureFillSymbolLayer(const QImage &image, QObject *parent = nullptr)
    virtual ~PictureFillSymbolLayer() override
    QImage image() const
    void setTintColor(const QColor &tintColor)
    QColor tintColor() const

    Reimplemented Public Functions

    virtual void cancelLoad() override
    virtual Esri::ArcGISRuntime::Credential *credential() const override
    virtual void load() override
    virtual Esri::ArcGISRuntime::Error loadError() const override
    virtual Esri::ArcGISRuntime::LoadStatus loadStatus() const override
    virtual Esri::ArcGISRuntime::RequestConfiguration requestConfiguration() const override
    virtual void retryLoad() override
    virtual void setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration) override
    virtual QUrl url() const override


    void doneLoading(const Esri::ArcGISRuntime::Error &loadError)
    void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

    Detailed Description

    This layer can also represent the Web Scene specification's Icon3DSymbolLayers. PictureFillSymbolLayer represents IconSymbol3DLayers that contain pictures and VectorMarkerSymbolLayer represents Icon3DSymbolLayers that are primitives or vector paths.

    The PictureFillSymbolLayer provides a similar user experience to the simple PictureFillSymbol, but can be used in a MultilayerSymbol.


    Create a PictureFillSymbolLayer and set its URL to an online PNG:

    const QUrl pictureFillSymbolLayerUrl("http://static.arcgis.com/images/Symbols/Basic/YellowStickpin.png");
    PictureFillSymbolLayer* pictureFillSymbolLayer = new PictureFillSymbolLayer(pictureFillSymbolLayerUrl, this);

    See also Symbol, Loadable, and RemoteResource.

    Member Function Documentation

    PictureFillSymbolLayer::PictureFillSymbolLayer(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

    Constructor to initialize a picture fill symbol with the provided url to an image, a credential for the secured resource, and optional parent.

    The URL can be provided as a path to a local file (file:/<path to file>), path to a resource image (qrc:/<path to resource image>), or a path to an HTTP URL image (http://path to image).

    A Credential is specified if the image needs authentication to gain access to it.

    PictureFillSymbolLayer::PictureFillSymbolLayer(const QUrl &url, QObject *parent = nullptr)

    Constructor to initialize a picture fill symbol with the provided url to an image and optional parent.

    The URL can be provided as a path to a local file ( "file:/<path to file>"), path to a resource image ("qrc:/<path to resource image>"), or a path to an HTTP URL image ("http://path to image").

    PictureFillSymbolLayer::PictureFillSymbolLayer(const QImage &image, QObject *parent = nullptr)

    Constructor to initialize a picture fill symbol with the provided image and optional parent.

    [signal] void PictureFillSymbolLayer::doneLoading(const Esri::ArcGISRuntime::Error &loadError)

    Signal emitted when this object is done loading.

    • loadError - Details about any error that may have occurred.

    Note: If there is a load error it will also be emitted on the errorOccurred signal.

    See also Loadable and Object.

    [signal] void PictureFillSymbolLayer::loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

    Signal emitted when the load status changes for this object.

    See also Loadable.

    [override virtual] PictureFillSymbolLayer::~PictureFillSymbolLayer()


    [override virtual] void PictureFillSymbolLayer::cancelLoad()

    Reimplements: Loadable::cancelLoad().

    See Loadable.

    [override virtual] Esri::ArcGISRuntime::Credential *PictureFillSymbolLayer::credential() const

    Reimplements: RemoteResource::credential() const.

    Returns the credential to be used to access a secured image URL if provided.

    QImage PictureFillSymbolLayer::image() const

    Returns the picture fill symbol image once loaded.

    If a URL was provided for the picture fill symbol layer, an attempt to load the symbol must occur and succeed, before the image can be returned from this function. Prior to loading in this case, this will return a null QImage.

    Returned images are in the QImage::Format_ARGB32_Premultiplied format.

    [override virtual] void PictureFillSymbolLayer::load()

    Reimplements: Loadable::load().

    See Loadable.

    [override virtual] Esri::ArcGISRuntime::Error PictureFillSymbolLayer::loadError() const

    Reimplements: Loadable::loadError() const.

    See Loadable.

    [override virtual] Esri::ArcGISRuntime::LoadStatus PictureFillSymbolLayer::loadStatus() const

    Reimplements: Loadable::loadStatus() const.

    See Loadable.

    [override virtual] Esri::ArcGISRuntime::RequestConfiguration PictureFillSymbolLayer::requestConfiguration() const

    Reimplements: RemoteResource::requestConfiguration() const.

    Returns the RequestConfiguration in use by this symbol.

    See also setRequestConfiguration().

    [override virtual] void PictureFillSymbolLayer::retryLoad()

    Reimplements: Loadable::retryLoad().

    See Loadable.

    [override virtual] void PictureFillSymbolLayer::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration)

    Reimplements: RemoteResource::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration).

    Sets configuration parameters used for network requests sent by this symbol to requestConfiguration.

    See also requestConfiguration().

    [since Esri::ArcGISRuntime 100.6] void PictureFillSymbolLayer::setTintColor(const QColor &tintColor)

    Sets the tint color of the picture fill symbol layer with the specified tintColor.

    This function was introduced in Esri::ArcGISRuntime 100.6.

    See also tintColor().

    [since Esri::ArcGISRuntime 100.6] QColor PictureFillSymbolLayer::tintColor() const

    Returns the tint color of the picture fill symbol layer.

    The tint color is applied to the entire image by multiplying each RGB color channel in the image by the corresponding color channel of the tint color. The default color is white with 100% opacity (RGBA (255,255,255,255)), which when applied leaves the image with its native colors and unchanged opacity. A white tint color with opacity less than 100% applies the reduced opacity without changing the image colors.

    When getting the tint color from a symbol, the consensus value is reported. If there is no consensus (one or more layers have different colors), a null value is reported for the color. Likewise, setting a value for tint color on a symbol will apply that tint color to all layers the symbol contains.

    This function was introduced in Esri::ArcGISRuntime 100.6.

    See also setTintColor().

    [override virtual] QUrl PictureFillSymbolLayer::url() const

    Reimplements: RemoteResource::url() const.

    Returns the URL path to the picture fill symbol layer image.

    This could be a local file path, Qt resource path, or HTTP path to the image.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.