ForensicWatermarkImage class

A widget that embeds a forensic watermark into imageBytes and displays the result.

Processing is performed in a background isolate via compute to avoid blocking the UI thread.

Shows placeholder while processing and calls errorBuilder on failure. Re-processes automatically when imageBytes, payload, secretKey, or config change.

ForensicWatermarkImage(
  imageBytes: pngBytes,
  payload: 'user@example.com',
  secretKey: 'key-123',
  placeholder: const CircularProgressIndicator(),
  errorBuilder: (context, error) => Text('Failed: $error'),
)
Inheritance

Constructors

ForensicWatermarkImage({Key? key, required Uint8List imageBytes, required String payload, required String secretKey, ForensicConfig config = const ForensicConfig(), Widget? placeholder, Widget errorBuilder(BuildContext context, Object error)?, BoxFit fit = BoxFit.contain, Alignment alignment = Alignment.center})
Creates a widget that embeds and displays a forensic watermark.
const

Properties

alignment → Alignment
How the watermarked image should be aligned within its bounds.
final
config → ForensicConfig
Configuration for the forensic watermark algorithm.
final
errorBuilder → Widget Function(BuildContext context, Object error)?
Builder called when embedding fails.
final
fit → BoxFit
How the watermarked image should be inscribed into the space.
final
hashCode → int
The hash code for this object.
no setterinherited
imageBytes → Uint8List
The source image as PNG-encoded bytes.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
payload → String
The payload to embed invisibly (e.g. user ID, email).
final
placeholder → Widget?
Widget to display while the watermark is being embedded.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
secretKey → String
The secret key used to seed the PRNG for embedding.
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<ForensicWatermarkImage>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited