getBytesFromAsset function
Checks the network connection by attempting to lookup 'google.com'.
Returns true
if the device is connected to the internet,
otherwise returns false
.
Loads bytes from the specified asset path.
Returns a Future containing a Uint8List representing the bytes of the asset.
The path
parameter is the path to the asset.
The width
parameter specifies the target width for resizing the image.
Example usage:
Uint8List bytes = getBytesFromAsset('assets/marker.png', width: 100);
Implementation
/*Future<bool> checkConnection() async {
try {
final result = await InternetAddress.lookup('google.com');
if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
return true;
}
return false;
} catch (e) {
return false;
}
}*/
/// Loads bytes from the specified asset path.
///
/// Returns a [Future] containing a [Uint8List] representing the bytes of the asset.
///
/// The [path] parameter is the path to the asset.
///
/// The [width] parameter specifies the target width for resizing the image.
///
/// Example usage:
/// ```dart
/// Uint8List bytes = getBytesFromAsset('assets/marker.png', width: 100);
Future<Uint8List> getBytesFromAsset(String path, {int? width}) async {
ByteData data = await rootBundle.load(path);
if (width == null) {
return data.buffer.asUint8List();
}
ui.Codec codec = await ui.instantiateImageCodec(
data.buffer.asUint8List(),
targetWidth: width,
);
ui.FrameInfo fi = await codec.getNextFrame();
return (await fi.image.toByteData(format: ui.ImageByteFormat.png))!
.buffer
.asUint8List();
}