Click or drag to resize

mcImageStateFlags Enumeration

Flags for the IMcImage2.ImageState property.

Namespace:  MediaCy.IQL.Engine
Assembly:  MediaCy.IQL.Engine (in MediaCy.IQL.Engine.dll) Version: 10.0.6912.0
Syntax
VB
Public Enumeration mcImageStateFlags
Members
  Member nameValueDescription
mcisfNoFlags0No flags.
mcisfReadOnlyFile1If set, image datacannot be saved to the source image file; a Save As operation must be done to save the image. Note that this flag only indicates that a SaveAs rather than a Save operation wil be needed to save the image data; the mcisfNoWriteToImageData may or may not be set.
mcisfNoWriteToImageData2If set, no writeaccess is allowed to image data. All McRegionAccess instances must be created with mcRegionAccessMode.mcramReadOnly as the AccessMode argument. Note that this is a stronger prohibition than the mcisfReadOnlyFile state.
mcisfVeryLargeFrames4If set, individualframes of this image are too large to fit within the limit set by ResourceManager.MiscellaneousResources( mcMiscellaneousResources.mcmrVeryLargeImage), which by default is 95% of managed memory reserved for images. Images with this state will usually be opened in a special, limited viewer, in which case the mcisfOpenedAsVLI flag will be set. See also mcisfVeryLargeROI.
mcisfInFileImageData8If set, image data iskept in the source image file. It is brought into memory as needed, but in a less efficient manner than can be done for images without this state. Usually, but not necessarily always, images with this flag also have the mcisfOpenedAsVLI flag set. Currently any image with this flag set will have the mcisfNoWriteToImageData flag set.
mcisfHasNaturalSizeRatios16If set, the imagesupports access to subsampled (i.e., low-resolution) image data at no greater cost than access to full-resolution image data for certain "natural" degrees of sub-sampling. The list of natural sub-samplings available is accessed by assigning the mcImage2CommandFlags.mci2cfReportNaturalSizeRatios to IMcImage2.CommandFlags and then getting the list from IMcImage2.CommandData. Low-resolution image data can be accessed with the IMcImage2.CreateRegionAccess2 or IMcImage2.CopyToNewImageEx
mcisfDiscardableImageData32If set, then whenmemory needs to be freed, and the frame's NextAccessPriority is less than a positive PixelBuffer.NextAccessPriorityForDiscard, instead of spooling out the memory to a swap file, it will be just discarded. If image memory has actually been discarded, then the mcisfImageDataHasBeenDiscarded bit will be set as well.
mcisfImageDataHasBeenDiscarded64This bit will be setonly if the mcisfDiscardableImageData is set. If the FrameIndex is McWholeImage, then it indicates that some or all of the image memory has been discarded, otherwise, the discard state of the specified frame determines this ImageState flag. Should discarded image memory be accessed later, it will appear as all zero (black) values.
mcisfImageCreationInterrupted128This bit will be setif the image creation was interrupted by the user. In this state, image data will be indeterminite and should be considered invalid.
mcisfTooLargeForBitmap256If set, individualframes of this image are too large to be represented as a canonical (32bpp) bitmap. There is both a limit on the largest frame dimension (mcImageBitmapLimits.mcibl_uiMaxAllowedBitmapDimension, currently 16K) and on the total number of pixels in the frame (mcImageBitmapLimits.mcibl_uiMaxAllowedBitmapPixels, currently 64 megapixels which consumes 256MB for the full cannonical bitmap). The limit is required by the limited capabilities of the low-level operating system bitmap handling facilities. Furthermore since bitmaps need to occupy ordinary memory that is managed by the operating system rather than by the IQL image memory manager, they can be very costly in terms of performance. An attempt to create a full frame McGraphObjBitmap from images with this state will not succeed. See also mcisfTooLargeForBitmapROI. If the FrameIndex parameter is McWholeImage then this bit is never set.
mcisfTooLargeForBitmapROI512If the FrameIndexparameter references a single frame then this bit will be set if the current ROI of this image is too large to be represented as a canonical (32bpp) bitmap. There is both a limit on the largest frame dimension (mcImageBitmapLimits.mcibl_uiMaxAllowedBitmapDimension, currently 16K) and on the total number of pixels in the ROI. An attempt to create a McGraphObjBitmap of the ROI from images with this state will not succeed. See also mcisfTooLargeForBitmap. If the FrameIndex parameter is McWholeImage then this bit is never set.
mcisfVeryLargeROI1024If the FrameIndexparameter references a single frame then this bit is set if the bounds of the current ROI in a single frame of this image is too large to fit within the limit set by ResourceManager.MiscellaneousResources( mcMiscellaneousResources.mcmrVeryLargeImage), which by default is 95% of managed memory reserved for images. If the FrameIndex parameter is McAssociatedFrame, then this bit is set if the total ROI's for all frames in the McImage.ActiveFrameRange (honoring McImage.UseActiveFrameRange) exceeds that value. If the FrameIndex parameter is McWholeImage then this bit is never set. See also mcisfVeryLargeFrames.
mcisfNonTrivalToLoadFrame2048If the FrameIndexparameter references a single frame then this bit will be set if it will take a non trivial amount of time to get the specified frame into memory. If clear, the frame is already in memory or it is small. If the FrameIndex parameter does not reference a single frame (e.g., it is McWholeImage, McLastFrame, McAssociatedFrame) then this bit is never set. See also mcisfCostlyToLoadFrame.
mcisfCostlyToLoadFrame4096If the FrameIndexparameter references a single frame then this bit will be set if it will take an appreciable amount of time to get the specified frame into memory. If clear, the frame is already in memory or it is small enough to load relatively quickly. If this flag is set, then the mcisfNonTrivalToLoadFrame flag will also be set. If the FrameIndex parameter does not reference a single frame (e.g., it is McWholeImage, McLastFrame or McAssociatedFrame) then this bit is never set.
mcisfSignatureIsDirty8192This bit will be setif an access to the McImage.CurrentSignature property will require computation of the signature (this can be a very expensive operation, since every pixel in every frame of the image must be accessed). The CurrentSignature will be dirty if SetInitialSignature has not been called, no previous access has been made to the image data or if the image data has been changed since the last access to the property. This flag will be set irrespective of the value of the FrameIndex parameter. Note that there is also a McImage.Property of type Boolean named mcImagePropertyNames.mciPropName_IsSignatureCalculated ("IsSignatureCalculated") which will be missing or False if the CurrentSignature is dirty.
mcisfSettableUserFlagsMask-268435456Mask for values Usersettable by the SetImageStateUserFlags method.
mcisfOpenedAsVLI134217728Bit set when the imageis opened as a Very Large Image. Note that the mcisfVeryLargeFrames flag may or may not be set, since some images are opened as VLI when they are smaller than the very high threshold set for that flag.
mcisfHeldByImageSetAsReference67108864A bit that can set afterthe image is added to a McImageSet to indicate that the McImage is not owned by the McImageSet. Images with this state flag set are assumed to be not owned by the McImage.ImageSet property McImageSet and will not be removed from the Images collection when they are removed from the owning McImageSet.
Remarks
.
See Also