i tried using canvas backgroundimageinbase64 but it didnt work, how would i add an image then as

imagelistviewer extension:
Explain what you mean / show what you are doing, and how this connects to the ImageListViewer extension ?
im trying to add an image (using base64) onto an item using the additem method
Where does it say that the extension accepts base64 for an image ?
You may need to save your canvas image and use that instead.
you mean like this? it still doesnt show anything on the element but the canvas did change, i also tried using kio4 base64 to set an image component's picture using base64 and used that picture and its still blank
What is in here? A filename/filepath/url to an image file, or a base 64 ?

Not sure, but perhaps canvas save/saveas requires an actual image file to be set to the background, not a base 64. I believe this is the case with the image component.
You could use an extension to convert the base 64 to a binary file, or you could try converting the base64 string to a datauri ("data:image/png;base64,...") see if that works ?
it is a base64 and i also tried joining with data:image/png;base64, but it just gave me this big error
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference at com.google.appinventor.components.runtime.Canvas$CanvasView.onMeasure(Canvas.java:537) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7145) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608) at android.widget.LinearLayout.measureVertical(LinearLayout.java:878) at android.widget.LinearLayout.onMeasure(LinearLayout.java:721) at com.google.appinventor.components.runtime.LinearLayout$1.onMeasure(LinearLayout.java:62) at android.view.View.measure(View.java:29590) at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1533) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.widget.ScrollView.onMeasure(ScrollView.java:474) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChild(ViewGroup.java:7113) at com.google.appinventor.components.runtime.ScaledFrameLayout.onMeasure(ScaledFrameLayout.java:136) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7145) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608) at android.widget.LinearLayout.measureVertical(LinearLayout.java:878) at android.widget.LinearLayout.onMeasure(LinearLayout.java:721) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7145) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7145) at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:401) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7145) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7145) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608) at android.widget.LinearLayout.measureVertical(LinearLayout.java:878) at android.widget.LinearLayout.onMeasure(LinearLayout.java:721) at android.view.View.measure(View.java:29590) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7145) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:801) at android.view.View.measure(View.java:29590) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:5585) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:3889) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4227) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3572) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:11792) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1821) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1830) at android.view.Choreographer.doCallbacks(Choreographer.java:1318) at android.view.Choreographer.doFrame(Choreographer.java:1190) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1789) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:249) at android.os.Looper.loop(Looper.java:337) at android.app.ActivityThread.main(ActivityThread.java:9515) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:636) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
Can you use extensions ?
Convert your base64 to an image file:
