Image web resources
Use image web resources to make images available for use in model-driven apps.
There are five types of image web resources:
- PNG Format
- JPG Format
- GIF Format
- ICO (Windows icon format) Format
- SVG (Scalable Vector Graphics) format
Note
Vector Format (SVG) web resources were added with the model-driven apps.
Capabilities of image web resources
With image web resources, you can add images where you need them. Common uses include:
- Custom table icons.
- Icons for custom ribbon controls and
SiteMap
subareas. - Decorative graphics for forms and webpage web resources.
- Background images that are used by CSS web resources.
Working with Scalable Vector Graphics (SVG)
Use Vector Format (SVG) web resources for any icon presented in the application. Vector images are defined as Scalable Vector Graphics (SVG), an XML-based vector image format. We recommend using SVG over other image types like PNG and JPG because they have better accessibility, smaller in file size, and can scale with their container.
Better accessibility
Model-driven apps can control the icon color to avoid contrast issues when SVG's don't contain hex values for colors. Using the currentColor can help ensure that the correct theme colors are used.
<path fill="currentColor" d="M16,0c-0,0-0-0.0-0-0.0v-0c0-0,0-0.0,0-0.0s0,0.0,0,0.0v0C00,0.0,00,0,00,0z"/>
Smaller file size
SVG files are typically smaller than raster type images, such as jpg or png.
Scale with their container
You can reuse a single SVG rather than provide multiple sizes of images. Use SVG web resources in the EntityMetadata.IconVectorName property to define the icon for a custom table instead of the IconLargeName
, IconMediumName
, or IconSmallName
properties.
Best practices
Ensure that a default size is set through the svg element width, height, and viewBox attributes.
Where possible, remove any hard coded fill colors and don't use embedded style sheets and classes within the SVG. Embedded stylesheets could leak styles if other SVG files are referencing that same class. Use the style attribute to assign values instead. For example:
<path style="fill:#231F20;" d="M16,0c-0,0-0-0.0-0-0.0v-0c0-0,0-0.0,0-0.0s0,0.0,0,0.0v0C00,0.0,00,0,00,0z"/>
Note
Vector Format (SVG) web resources are treated like the Script (JScript) web resources, and carry the same security risks as JavaScript web resources because SVG files allow JScript embedding.
Limitations of image web resources
Image web resources use the security context like all web resources. Only licensed users who have the necessary privileges can access them.
Reference an image web resource from a webpage web resource
All web resources can use relative URLs to reference each other. In the following example, for the webpage (HTML) web resource new_/content/contentpage.htm to reference the image web resource new_/Images/image1.png, add the following HTML code to new_/content/contentpage.htm:
<img src="../Images/image1.png" />
Reference an image web resource from a form
Add an image to a form
Navigate to the form editor for a table.
Select where you want to add the image in the form.
On the Insert tab, select Web Resource.
On the General tab, select the web resource image that you want to add.
Specify a name for the web resource. You can also specify a label and alternative text.
On the Formatting tab, you can define:
The number of columns the images should use.
The number of rows the images should use, or if it should automatically expand to use available space.
The size of the image using the following options:
- Stretch to fit
- Stretch to fit (maintain aspect ratio)
- Original
- Specific
If you select "Specific," you can enter the desired height and width in pixels.
Select OK.
You must save your changes and publish the form before users can see the image in the form.
Reference an image web resource from a ribbon element or from the Site Map subarea
Use the $webresource:
directive to specify a web resource image to use as an icon in the ribbon or in the application navigation using Site Map. The following sample shows how to specify icons for a button in the ribbon.
<Button Id="MyISV.opportunity.form.actions.FlyoutAnchor.Button.1" Image16by16="$webresource:new_/icons/oneIcon16.png" Image32by32="$webresource:new_/icons/oneIcon32.png"/>
Note
Using the $webresource:
directive adds a solution dependency that prevents the referenced image web resources from being deleted as long as they are used by another solution component.
See also
Web resources
Using Web Page (HTML) web resources
Using Style Sheet (CSS) web resources
Using JavaScript web resources
Using Data (XML) web resources
Using Stylesheet (XSL) web resources