setWatermark method Null safety
Add watermark
The watermark position is determined by the x
, y
, and width
parameters.
- x: X coordinate of watermark, which is a floating point number between 0 and 1.
- y: Y coordinate of watermark, which is a floating point number between 0 and 1.
- width: width of watermark, which is a floating point number between 0 and 1.
For example, if the current encoding resolution is 540x960 and (x, y, width)
is set to (0.1, 0.1, 0.2), then the coordinates of the top-left point of the watermark will be (540 * 0.1, 960 * 0.1), i.e., (54, 96), the watermark width will be 540 * 0.2 = 108 px, and the height will be calculated automatically.
Parameters:
assetUrl
can be an asset resource address defined in Flutter such as 'images/watermark_img.png' or an online image address
streamType setWatermark
needs to be called twice if the screen sharing channel also requires a watermark. For more information, please see TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG
x Unified X coordinate of the watermark position. Value range: 0,1
y Unified Y coordinate of the watermark position. Value range: 0,1
width Unified width of the watermark. Value range: 0,1
Implementation
Future<void> setWatermark(
String assetUrl, // Resource address in `assets`
int streamType,
double x,
double y,
double width) async {
String imageUrl = assetUrl;
String type = 'network'; // Online image by default
if (assetUrl.indexOf('http') != 0) {
type = 'local';
}
return _channel.invokeMethod('setWatermark', {
"type": type,
"imageUrl": imageUrl,
"streamType": streamType,
"x": x.toString(),
"y": y.toString(),
"width": width.toString()
});
}