Description
Reorders or swizzles the bands of the source raster to match the band order of the
Raster Format specified by the
Band Order property. When
Maintain Raster Format is true, the source raster's format is maintained after swizzling.
Public Properties
BandOrder | Gets or sets the Raster Format indicating the desired order of the bands in the source raster. |
MaintainRasterFormat | Gets or sets a value indicating whether to maintain the source raster's format after the filter is applied. When true, the source raster's format is maintained after swizzling. |
Example
Swizzle an image's components
[C#] | Copy Code |
---|
IAgStkGraphicsSceneManager manager = ((IAgScenario)root.CurrentScenario).SceneManager;
IAgStkGraphicsScreenOverlayCollectionBase overlayManager = (IAgStkGraphicsScreenOverlayCollectionBase)manager.ScreenOverlays.Overlays;
IAgStkGraphicsRaster image = manager.Initializers.Raster.InitializeWithStringUri(
imageFile);
IAgStkGraphicsBandOrderFilter channelOrder = manager.Initializers.BandOrderFilter.InitializeWithOrder(AgEStkGraphicsRasterFormat.eStkGraphicsRasterFormatBgra);
image.ApplyInPlace((IAgStkGraphicsRasterFilter)channelOrder);
IAgStkGraphicsRendererTexture2D texture = manager.Textures.FromRaster(image);
IAgStkGraphicsTextureScreenOverlay overlay = manager.Initializers.TextureScreenOverlay.Initialize();
((IAgStkGraphicsOverlay)overlay).Width = 0.2;
((IAgStkGraphicsOverlay)overlay).WidthUnit = AgEStkGraphicsScreenOverlayUnit.eStkGraphicsScreenOverlayUnitFraction;
((IAgStkGraphicsOverlay)overlay).Height = 0.2;
((IAgStkGraphicsOverlay)overlay).HeightUnit = AgEStkGraphicsScreenOverlayUnit.eStkGraphicsScreenOverlayUnitFraction;
((IAgStkGraphicsOverlay)overlay).Origin = AgEStkGraphicsScreenOverlayOrigin.eStkGraphicsScreenOverlayOriginTopCenter;
overlay.Texture = texture;
overlayManager.Add((IAgStkGraphicsScreenOverlay)overlay);
|
|
Swizzle an image's components
[Visual Basic .NET] | Copy Code |
---|
Dim manager As IAgStkGraphicsSceneManager = DirectCast(root.CurrentScenario, IAgScenario).SceneManager Dim overlayManager As IAgStkGraphicsScreenOverlayCollectionBase = DirectCast(manager.ScreenOverlays.Overlays, IAgStkGraphicsScreenOverlayCollectionBase)
Dim image As IAgStkGraphicsRaster = manager.Initializers.Raster.InitializeWithStringUri( _ imageFile)
Dim channelOrder As IAgStkGraphicsBandOrderFilter = manager.Initializers.BandOrderFilter.InitializeWithOrder(AgEStkGraphicsRasterFormat.eStkGraphicsRasterFormatBgra) image.ApplyInPlace(DirectCast(channelOrder, IAgStkGraphicsRasterFilter))
Dim texture As IAgStkGraphicsRendererTexture2D = manager.Textures.FromRaster(image)
Dim overlay As IAgStkGraphicsTextureScreenOverlay = manager.Initializers.TextureScreenOverlay.Initialize() DirectCast(overlay, IAgStkGraphicsOverlay).Width = 0.2 DirectCast(overlay, IAgStkGraphicsOverlay).WidthUnit = AgEStkGraphicsScreenOverlayUnit.eStkGraphicsScreenOverlayUnitFraction DirectCast(overlay, IAgStkGraphicsOverlay).Height = 0.2 DirectCast(overlay, IAgStkGraphicsOverlay).HeightUnit = AgEStkGraphicsScreenOverlayUnit.eStkGraphicsScreenOverlayUnitFraction overlay.Texture = texture DirectCast(overlay, IAgStkGraphicsOverlay).Origin = AgEStkGraphicsScreenOverlayOrigin.eStkGraphicsScreenOverlayOriginTopCenter
overlayManager.Add(DirectCast(overlay, IAgStkGraphicsScreenOverlay))
|
|
CoClasses that Implement IAgStkGraphicsBandOrderFilter