CustomBitmapDataConfig Class

Represents the configuration of a non-indexed custom bitmap data that can be created by the CreateBitmapData methods that have a CustomBitmapDataConfig parameter.

Definition

Namespace: KGySoft.Drawing.Imaging
Assembly: KGySoft.Drawing.Core (in KGySoft.Drawing.Core.dll) Version: 8.1.0
C#
public sealed class CustomBitmapDataConfig : CustomBitmapDataConfigBase
Inheritance
Object    CustomBitmapDataConfigBase    CustomBitmapDataConfig

Remarks

The PixelFormat property and at least one getter or setter delegate must be set to create a valid custom bitmap data.

It is enough to set only one getter and/or setter with the best matching color type. For example, if you set the RowGetColor64 property only, which returns the pixels as Color64 values, then all of the other pixel-reading methods will use this delegate and will convert the result from Color64.

If none of the setter delegates are set, then the custom bitmap data will be read-only. And if none of the getter delegates are set, then the custom bitmap data will be write-only.

The delegates should not reference or capture the back buffer directly. Instead, they should use the ICustomBitmapDataRow property of the accessor delegates to access the bitmap data. If this is true for all of the delegates you can set the BackBufferIndependentPixelAccess property to provide better performance and quality in case of certain operations.

Constructors

CustomBitmapDataConfigInitializes a new instance of the CustomBitmapDataConfig class

Properties

AlphaThreshold Gets or sets a value for pixel formats without alpha gradient support that specifies the AlphaThreshold value of the created bitmap data. See the Remarks section for details.
Default value: 128.
See the Remarks section of the CreateBitmapData(Size, KnownPixelFormat, WorkingColorSpace, Color32, Byte) method for details about back color and alpha threshold.
BackBufferIndependentPixelAccess Gets or sets whether the pixel accessor delegates are not tied to a specific buffer instance or memory location but can work with any buffer. If the pixel accessor delegates do not capture any specific buffer instance and access the bitmap data only by the ICustomBitmapDataRow parameter of the delegate, then it is safe to set this property to .
Default value: .
(Inherited from CustomBitmapDataConfigBase)
BackColor Gets or sets a Color32 value for pixel formats without alpha gradient support that specifies the BackColor value of the created bitmap data. It does not affect the actual created bitmap content. The alpha value (Color32.A field) of the specified background color is ignored.
Default value: The default value of the Color32 type, which has the same RGB values as Black.
See the Remarks section of the CreateBitmapData(Size, KnownPixelFormat, WorkingColorSpace, Color32, Byte) method for details about back color and alpha threshold.
DisposeCallback Gets or sets a delegate that will be called when the created custom bitmap data is disposed.
Default value: .
(Inherited from CustomBitmapDataConfigBase)
PixelFormat Gets or sets the pixel format of the custom bitmap data to create. This property must be set to a nondefault value to create a valid custom bitmap data by the CreateBitmapData methods.
Default value: The default value of PixelFormatInfo, which represents the Undefined format.
(Inherited from CustomBitmapDataConfigBase)
RowGetColor32 Gets or sets a delegate that can retrieve a pixel of a row in the custom bitmap data as a Color32 value. An image processing operation may prefer this delegate by default. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowGetColor64 Gets or sets a delegate that can retrieve a pixel of a row in the custom bitmap data as a Color64 value. An image processing operation may prefer this delegate if Prefers64BitColors is set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowGetColorF Gets or sets a delegate that can retrieve a pixel of a row in the custom bitmap data as a ColorF value. An image processing operation may prefer this delegate if Prefers128BitColors is set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowGetPColor32 Gets or sets a delegate that can retrieve a pixel of a row in the custom bitmap data as a PColor32 value. An image processing operation may prefer this delegate if HasPremultipliedAlpha is set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowGetPColor64 Gets or sets a delegate that can retrieve a pixel of a row in the custom bitmap data as a PColor64 value. An image processing operation may prefer this delegate if Prefers64BitColors and HasPremultipliedAlpha are set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowGetPColorF Gets or sets a delegate that can retrieve a pixel of a row in the custom bitmap data as a PColorF value. An image processing operation may prefer this delegate if Prefers128BitColors and HasPremultipliedAlpha are set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowSetColor32 Gets or sets a delegate that can set a pixel of a row in the custom bitmap data from a Color32 value. An image processing operation may prefer this delegate by default. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowSetColor64 Gets or sets a delegate that can set a pixel of a row in the custom bitmap data from a Color64 value. An image processing operation may prefer this delegate if Prefers64BitColors is set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowSetColorF Gets or sets a delegate that can set a pixel of a row in the custom bitmap data from a ColorF value. An image processing operation may prefer this delegate if Prefers128BitColors is set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowSetPColor32 Gets or sets a delegate that can set a pixel of a row in the custom bitmap data from a PColor32 value. An image processing operation may prefer this delegate if HasPremultipliedAlpha is set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowSetPColor64 Gets or sets a delegate that can set a pixel of a row in the custom bitmap data from a PColor64 value. An image processing operation may prefer this delegate if Prefers64BitColors and HasPremultipliedAlpha are set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
RowSetPColorF Gets or sets a delegate that can set a pixel of a row in the custom bitmap data from a PColorF value. An image processing operation may prefer this delegate if Prefers128BitColors and HasPremultipliedAlpha are set in PixelFormat. If this property is not set, the other delegates tried to be used as a fallback. Make sure you access the row content via the ICustomBitmapDataRow parameter of the delegate.
Default value: .
WorkingColorSpace Gets or sets the preferred color space that should be used when working with the result bitmap data.
Default value: Default, which means the linear color space if LinearGamma is set in PixelFormat and the sRGB color space otherwise.
See the Remarks section of the WorkingColorSpace enumeration for more details.

See Also