Closed NiroopNife closed 3 years ago
Why would you need to store a barcode image into a database?
You can save it as a PNG or SVG image and convert it to base64.
Yeah thats true but can i know how to convert the SVG image to a base64 image as i did search in SO but couldn't find any leads.
And also by priniting the SVG string which will be got in
var svgString = bc.toSvg('Hello World!', width: 200, height: 200);
and tried to convert this to base64 by
DrawableRoot svgDrawableRoot = await svg.fromSvgString(svgString, null);
String temp = svgString.substring(svgString.indexOf('height="')+8);
int originalHeight = int.parse(temp.substring(0, temp.indexOf('p')));
temp = svgString.substring(svgString.indexOf('width="')+7);
int originalWidth = int.parse(temp.substring(0, temp.indexOf('p')));
double devicePixelRatio = MediaQuery.of(context).devicePixelRatio;
double width = originalHeight * devicePixelRatio; // where 32 is your SVG's original width
double height = originalWidth * devicePixelRatio; // same thing
ui.Picture picture = svgDrawableRoot.toPicture(size: Size(width, height));
ui.Image image = await picture.toImage(width.toInt(), height.toInt());
ByteData bytes = await image.toByteData(format: ui.ImageByteFormat.png);
Bitmap bitmap = await Bitmap.fromHeadless(width.toInt(), height.toInt(),
bytes.buffer.asUint8List()
);
print(bitmap)
And so getting an error as
[ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: FormatException: Invalid radix-10 number (at character 1)
E/flutter ( 3214): ewBox="0.00000 0.00000 200.00000 80.00000" xmlns="htt
E/flutter ( 3214): ^
E/flutter ( 3214):
E/flutter ( 3214): #0 int._throwFormatException (dart:core-patch/integers_patch.dart:131:5)
E/flutter ( 3214): #1 int._parseRadix (dart:core-patch/integers_patch.dart:157:16)
E/flutter ( 3214): #2 int._parse (dart:core-patch/integers_patch.dart:100:12)
E/flutter ( 3214): #3 int.parse (dart:core-patch/integers_patch.dart:63:12)
E/flutter ( 3214): #4 _DelState.getBarcodeImage (package:postman/del.dart:36:30)
E/flutter ( 3214): <asynchronous suspension>
E/flutter ( 3214): #5 _DelState.initState (package:postman/del.dart:25:5)
E/flutter ( 3214): #6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4765:58)
E/flutter ( 3214): #7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3214): #8 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #9 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #10 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter ( 3214): #11 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #12 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #13 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 3214): #14 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 3214): #15 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 3214): #16 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3214): #17 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #19 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter ( 3214): #20 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #21 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #22 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter ( 3214): #23 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #25 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 3214): #26 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 3214): #27 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 3214): #28 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 3214): #29 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4791:11)
E/flutter ( 3214): #30 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3214): #31 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #32 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #33 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter ( 3214): #34 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #36 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
E/flutter ( 3214): #37 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #38 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 3214): #39 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 3214): #40 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 3214): #41 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 3214): #42 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 3214): #43 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4791:11)
E/flutter ( 3214): #44 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 3214): #45 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 3214): #46 E
SInce i needed to store the genereated barcode image into the database, can I get to know how to convert a barcode image to a base64 image?