E/flutter (1555): [ОШИБКА:flutter/runtime/dart_vm_initializer.cc(41)] Необработанное исключение: LateInitializationError: Локальный «результат» не был инициализирован. E/flutter (1555): # 0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:190) E/flutter (1555): # 1 RenderObject.debugNeedsPaint (пакет: flutter/src/rendering/object.dart) E/flutter (1555): #2 _HomeScreenState._capturePng (пакет:geeta_gyandhara/screens/home/home_screen.dart:48) E/flutter (1555): #3 _HomeScreenState.buildShlokaCard. (пакет:geeta_gyandhara/screens /home/home_screen.dart:169) E/flutter (1555): #4 _InkResponseState.handleTap (пакет:flutter/src/material/ink_well.dart:1171) E/flutter (1555): #5 GestureRecouncer.invokeCallback (пакет :flutter/src/gestures/recouncer.dart:344) E/flutter ( 1555): #6 TapGestureRecouncer.handleTapUp (пакет:flutter/src/gestures/tap.dart:652) E/flutter ( 1555): #7 BaseTapGestureRecouncer ._checkUp (пакет:flutter/src/gestures/tap.dart:309) E/flutter (1555): #8 BaseTapGestureRecouncer.acceptGesture (пакет:flutter/src/gestures/tap.dart:279) E/flutter (1555) : #9 GestureArenaManager.sweep (пакет:flutter/src/gestures/arena.dart:167) E/flutter ( 1555): #10 GestureBinding.handleEvent (пакет:flutter/src/gestures/binding.dart:499) E/ flutter (1555): #11 GestureBinding.dispatchEvent (пакет:flutter/src/gestures/binding.dart:475) E/flutter (1555): #12 RendererBinding.dispatchEvent (пакет:flutter/src/rendering/binding.dart: 425) E/flutter (1555): #13 GestureBinding._handlePointerEventImmediately (пакет:flutter/src/gestures/binding.dart:420) E/flutter (1555): #14 GestureBinding.handlePointerEvent (пакет:flutter/src/gestures/ привязка.dart:383) E/flutter (1555): #15 GestureBinding._flushPointerEventQueue (пакет:flutter/src/gestures/binding.dart:330) E/flutter (1555): #16 GestureBinding._handlePointerDataPacket (пакет:flutter/ src/gestures/binding.dart:299) E/flutter (1555): #17 _invoke1 (dart:ui/hooks.dart:328) E/flutter (1555): #18 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher. dart:442) E/flutter (1555): #19 _dispatchPointerDataPacket (dart:ui/hooks.dart:262) E/flutter (1555):
Future _capturePng(GlobalKey key) async {
RenderRepaintBoundary? boundary =
key.currentContext!.findRenderObject() as RenderRepaintBoundary?;
if (boundary == null) {
print("Boundary is not available.");
return Future.delayed(const Duration(milliseconds: 20), () => _capturePng(key));
}
if (boundary.debugNeedsPaint) {
print("Waiting for boundary to be painted.");
await Future.delayed(const Duration(milliseconds: 20));
return _capturePng(key); // Recursively retry capturing
}
ui.Image image = await boundary.toImage(pixelRatio: 3.0);
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
if (byteData == null) {
throw 'Error converting image to ByteData';
}
return byteData.buffer.asUint8List();
}
Widget buildShlokaCard(
String hindiText, String englishText, String sanskritText, img,GlobalKey key) {
return RepaintBoundary(
key: key,
child: Container(
width: MediaQuery.sizeOf(context).width.w,
decoration: BoxDecoration(
color: colorWhite,
borderRadius: BorderRadius.circular(12.r),
),
padding: EdgeInsets.symmetric(horizontal: 10.w),
margin: EdgeInsets.symmetric(horizontal: 10.0.w),
child: Stack(
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextWidget(
text: hindiText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.bold,
fontSize: 18.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: englishText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: sanskritText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
],
),
Positioned(
bottom: 0,
right: 0,
child: IconButton(onPressed: (){
_capturePng(key).then((imageBytes) {
if (imageBytes != null) {
// Handle captured image bytes here (e.g., save/share/etc.)
_shareImage(imageBytes);
} else {
print('Error capturing image');
}
});
}, icon: const Icon(Icons.share),),
)
],
),
),
);
}
void _shareImage(Uint8List imageBytes) async {
try {
final tempDir = await getTemporaryDirectory();
final file = await File('${tempDir.path}/shloka_image.png').create();
await file.writeAsBytes(imageBytes);
// Create an XFile instance from the file path
final xFile = XFile(file.path);
// Share the file
await Share.shareXFiles([xFile], text: 'Check out this shloka from Bhagavad Gita!');
} catch (e) {
print('Error sharing image: $e');
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... roperly-in
Я пытаюсь преобразовать виджет Flutter в изображение. Этот код работает правильно в режиме отладки APK, но показывает ис ⇐ Android
Форум для тех, кто программирует под Android
1719661985
Anonymous
E/flutter (1555): [ОШИБКА:flutter/runtime/dart_vm_initializer.cc(41)] Необработанное исключение: LateInitializationError: Локальный «результат» не был инициализирован. E/flutter (1555): # 0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:190) E/flutter (1555): # 1 RenderObject.debugNeedsPaint (пакет: flutter/src/rendering/object.dart) E/flutter (1555): #2 _HomeScreenState._capturePng (пакет:geeta_gyandhara/screens/home/home_screen.dart:48) E/flutter (1555): #3 _HomeScreenState.buildShlokaCard. (пакет:geeta_gyandhara/screens /home/home_screen.dart:169) E/flutter (1555): #4 _InkResponseState.handleTap (пакет:flutter/src/material/ink_well.dart:1171) E/flutter (1555): #5 GestureRecouncer.invokeCallback (пакет :flutter/src/gestures/recouncer.dart:344) E/flutter ( 1555): #6 TapGestureRecouncer.handleTapUp (пакет:flutter/src/gestures/tap.dart:652) E/flutter ( 1555): #7 BaseTapGestureRecouncer ._checkUp (пакет:flutter/src/gestures/tap.dart:309) E/flutter (1555): #8 BaseTapGestureRecouncer.acceptGesture (пакет:flutter/src/gestures/tap.dart:279) E/flutter (1555) : #9 GestureArenaManager.sweep (пакет:flutter/src/gestures/arena.dart:167) E/flutter ( 1555): #10 GestureBinding.handleEvent (пакет:flutter/src/gestures/binding.dart:499) E/ flutter (1555): #11 GestureBinding.dispatchEvent (пакет:flutter/src/gestures/binding.dart:475) E/flutter (1555): #12 RendererBinding.dispatchEvent (пакет:flutter/src/rendering/binding.dart: 425) E/flutter (1555): #13 GestureBinding._handlePointerEventImmediately (пакет:flutter/src/gestures/binding.dart:420) E/flutter (1555): #14 GestureBinding.handlePointerEvent (пакет:flutter/src/gestures/ привязка.dart:383) E/flutter (1555): #15 GestureBinding._flushPointerEventQueue (пакет:flutter/src/gestures/binding.dart:330) E/flutter (1555): #16 GestureBinding._handlePointerDataPacket (пакет:flutter/ src/gestures/binding.dart:299) E/flutter (1555): #17 _invoke1 (dart:ui/hooks.dart:328) E/flutter (1555): #18 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher. dart:442) E/flutter (1555): #19 _dispatchPointerDataPacket (dart:ui/hooks.dart:262) E/flutter (1555):
Future _capturePng(GlobalKey key) async {
RenderRepaintBoundary? boundary =
key.currentContext!.findRenderObject() as RenderRepaintBoundary?;
if (boundary == null) {
print("Boundary is not available.");
return Future.delayed(const Duration(milliseconds: 20), () => _capturePng(key));
}
if (boundary.debugNeedsPaint) {
print("Waiting for boundary to be painted.");
await Future.delayed(const Duration(milliseconds: 20));
return _capturePng(key); // Recursively retry capturing
}
ui.Image image = await boundary.toImage(pixelRatio: 3.0);
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
if (byteData == null) {
throw 'Error converting image to ByteData';
}
return byteData.buffer.asUint8List();
}
Widget buildShlokaCard(
String hindiText, String englishText, String sanskritText, img,GlobalKey key) {
return RepaintBoundary(
key: key,
child: Container(
width: MediaQuery.sizeOf(context).width.w,
decoration: BoxDecoration(
color: colorWhite,
borderRadius: BorderRadius.circular(12.r),
),
padding: EdgeInsets.symmetric(horizontal: 10.w),
margin: EdgeInsets.symmetric(horizontal: 10.0.w),
child: Stack(
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextWidget(
text: hindiText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.bold,
fontSize: 18.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: englishText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
heightBox(10.h),
TextWidget(
text: sanskritText,
color: Colors.black, // Adjust color as needed
fontWeight: FontWeight.normal,
fontSize: 16.0,
textAlign: TextAlign.center,
),
],
),
Positioned(
bottom: 0,
right: 0,
child: IconButton(onPressed: (){
_capturePng(key).then((imageBytes) {
if (imageBytes != null) {
// Handle captured image bytes here (e.g., save/share/etc.)
_shareImage(imageBytes);
} else {
print('Error capturing image');
}
});
}, icon: const Icon(Icons.share),),
)
],
),
),
);
}
void _shareImage(Uint8List imageBytes) async {
try {
final tempDir = await getTemporaryDirectory();
final file = await File('${tempDir.path}/shloka_image.png').create();
await file.writeAsBytes(imageBytes);
// Create an XFile instance from the file path
final xFile = XFile(file.path);
// Share the file
await Share.shareXFiles([xFile], text: 'Check out this shloka from Bhagavad Gita!');
} catch (e) {
print('Error sharing image: $e');
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78685898/i-am-trying-to-convert-a-flutter-widget-to-an-image-this-code-runs-properly-in[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия