Icons
Plugin Icon
Plugin icon is used in the Options+, Loupedeck software and in the Logitech Marketplace.
We support both black and white backgrounds for icons in the Options+. To ensure that the plugin icon displays correctly on different backgrounds, please follow these guidelines:
- Image resolution must be 256x256 px in PNG format.
- The actual icon graphic must fit within a 192x192 px area centered in the icon.
- The remaining area around the icon graphic must be transparent.
To add an icon for the plugin, add it to the plugin lplug4 -package under the folder named "metadata":
metadata/Icon256x256.png
Vector Images
Overview
Logi Plugin Service can use vector images instead of raster images when drawing action icons on device.
Currently only SVG format is supported as a vector format.
How to use vector images in plugins
GetCommandImage and GetAdjustmentImage
- Images returned by
PluginDynamicCommand.GetCommandImage()
andPluginDynamicAdjustment.GetAdjustmentImage()
methods can either have raster (PNG) or vector (SVG) format.
Below is an example of a plugin command that reads an SVG file from plugin assembly embedded resources and returns it as command image.
namespace Loupedeck.TestPlugin
{
using System;
internal class VectorGraphicsDynamicCommand : PluginDynamicCommand
{
public VectorGraphicsDynamicCommand()
: base("Vector graphics", "Command that has an SVG image", "Test Group")
{
}
protected override BitmapImage GetCommandImage(String actionParameter, PluginImageSize imageSize)
=> BitmapImage.FromResource(this.Plugin.Assembly, "Loupedeck.TestPlugin.VectorGraphicsDynamicCommand.svg");
}
}
"actionicons" folder in LPLUG4 package
- If .LPLUG4 package has an
actionicons
folder in its root, then Logi Plugin Service first searches this folder for plugin action images. - In this case no changes are required in plugin code.
- Images can either have raster (PNG) or vector (SVG) format.
- Image file name should consist of action class full name as its name and corresponding file extension, e.g. in the above example it should be "Loupedeck.TestPlugin.VectorGraphicsDynamicCommand.svg" ("Loupedeck.TestPlugin" from namespace name and
VectorGraphicsDynamicCommand
from class name). - This is the preferred method.