encode method
BitMatrix
encode(
- String contents,
- BarcodeFormat format,
- int width,
- int height, [
- EncodeHint? hints,
override
Encode the contents following specified format.
width and height are required size. This method may return bigger size
BitMatrix when specified size is too small. The user can set both width and
height to zero to get minimum size barcode. If negative value is set to width
or height, IllegalArgumentException is thrown.
Implementation
@override
BitMatrix encode(
String contents,
BarcodeFormat format,
int width,
int height, [
EncodeHint? hints,
]) {
if (contents.isEmpty) {
throw ArgumentError('Found empty contents');
}
if (width < 0 || height < 0) {
throw ArgumentError(
'Negative size is not allowed. Input: $width' 'x$height',
);
}
final supportedFormats = supportedWriteFormats;
if (supportedFormats != null && !supportedFormats.contains(format)) {
throw ArgumentError('Can only encode $supportedFormats, but got $format');
}
int sidesMargin = defaultMargin;
if (hints?.margin != null) {
sidesMargin = hints!.margin!;
}
final code = encodeContent(contents, hints);
return _renderResult(code, width, height, sidesMargin);
}