IShellItemImageFactoryGetImageFlags Enumeration

Definition

Namespace: DevCase.Win32.Enums
Assembly: DevCase.net48 (in DevCase.net48.dll) Version: 6.0.0.0 (6.0)
XMLNS for XAML: Not mapped to an xmlns.
[FlagsAttribute]
public enum IShellItemImageFactoryGetImageFlags

Remarks

Members

ResizeToFit 0 Shrink the bitmap as necessary to fit, preserving its aspect ratio.
BiggerSizeOk 1 Passed by callers if they want to stretch the returned image themselves.

For example, if the caller passes an icon size of 80x80, a 96x96 thumbnail could be returned.

This action can be used as a performance optimization if the caller expects that they will need to stretch the image.

Note that the Shell implementation of IShellItemImageFactory performs a GDI stretch blit.

If the caller wants a higher quality image stretch than provided through that mechanism, they should pass this flag and perform the stretch themselves.

MemoryOnly 2 Return the item only if it is already in memory. Do not access the disk even if the item is cached.

Note that this only returns an already-cached icon and can fall back to a per-class icon if an item has a per-instance icon that has not been cached.

Retrieving a thumbnail, even if it is cached, always requires the disk to be accessed, so GetImage(Size, IShellItemImageFactoryGetImageFlags, IntPtr) should not be called from the UI thread without passing MemoryOnly.

IconOnly 4 Return only the icon, never the thumbnail.
ThumbnailOnly 8 Return only the thumbnail, never the icon.

Note that not all items have thumbnails, so ThumbnailOnly will cause the method to fail in these cases.

InCacheOnly 16 Allows access to the disk, but only to retrieve a cached item.

This returns a cached thumbnail if it is available.

If no cached thumbnail is available, it returns a cached per-instance icon but does not extract a thumbnail or icon.

CropToSquare 32 If necessary, crop the bitmap to a square.
WideThumbnails 64 Stretch and crop the bitmap to a 0.7 aspect ratio.
IconBackground 128 If returning an icon, paint a background using the associated app's registered background color.
ScaleUp 256 If necessary, stretch the bitmap so that the height and width fit the given size.

See Also