Creating a Camera App with adding a Watermark Image

Hello Taifun, i am New in the App Inventor think, it give me an wrong number of Arguments Error, forapplywatermark, I want to get into my Photo what i have taken a Watermark (Logo what i have uploaded in the App into the Photo in the Right corner, but i dont know how i get it work.

And what i want is, Then the Photo is taken, the Photo shows in the App and the Watermark Logo Image shows in the right corner and is savable with the Second Savebutton.
What i see, the Savebutton dont work by me, i hope u can help me, or anyone else, I just want a own Camera App what takes Pictures, set the Logo into the Picture and Save it in one Image in any Folder, can be a own Folder too.

Well, there are a lot of empty sockets in your method call... what about providing reasonable values there?

See the documentation of that extension for help


I tried with the ImageUtil extansion a watermark but it dont worked, i cannot Take the Picture in it what i want to use, thats why i ask here for help, my code is actually trash :smile:

i dont get it to work like i want to, also it dont save the Image, i cannot find it in my Storage.

Here is an example of how to use that method

The author of the extension @Gordon_Lu might be able to help more..


ok thanks for it, i get now another error,

Runtime Error:$CanvasView cannot be cast to Android.widget.Imageview.

My Code Looks now like in the Screenshot, still cannot save the Image or set the Watermark

Which means, this

must be an image component and can't be a canvas component. .

After taking the picture, displayi it using an image component and then use the ApplyWatermark method together with that image component


So i have to input a Image nit a canvas to it, and the Problem with the picture saving, can u help me there?

You see, in math class you should have learned that you cannot divide numbers by 0. Look back in your code.

What exactly is the problem with picture saving?
Please follow


Also, for the "image" parameter, only take Image components as inputs. You may not use a canvas component, which caused the error.

My Problem is, that then i Click on save Image, it apeats the Window to name it , but then i look at my Smartphone, i dont see it saved.

I have removed Canvas in all and only use Image, there i dont get the error.

I had the hope u can help me with this code to get it to work, i just want that the app takes the picture, print the Watermark in it and get saved with the second button.

Edit: I get the runtime Error Width and height must be > 0
before i get the error, i get this:

Runtime error: Attempt to invoke virtual Method "" on a null object reference.

Move the ApplyWatermark method into the AfterPicture event
Also: What is the purpose of using the canvas?
EDIT: to find out, where the image is stored, display the image from the AfterPicture event in a label...
To see files stored in the ASD of your app, use a good file manager like Total Commander


Thank you for this fast Answer, Now it works till Photo is Taken, then i press my Save Button it Sais Width and height must be > 0, what i have to write and who?

I just have canvas for the call Canvas.saveas funktion, in Image i dont find the function.

@Gordon_Lu might want to explain, how to save a modified image...

My guess is, the original image will be overwritten automatically without need of using a canvas

EDIT: is the watermark correctly displayed now?
Did you check the original image, if it was modified?


This Shows me, i want it in the right corner and mabe Not as Text, more as a picture what i have uploaded, mabe the creator can help there :slight_smile:

1 Like

I'm sorry, I was sleeping,so I couldn't answer your questions.

The extension does not overwrite the image saved in the path, it only edits the image component itself. All changes are unsaved.

this looks great! this is what the extension can do, see the documentation

Applies watermark text to the given image's content.

to have an image as watermark, try the Overlay method from the image extension

no need to apologize, noone is here 24/7

so how can someone save the modified image?



They could use the ComponentToImage extension? (not sure what impact that has on quality...)

Uh, you will have to use the ImageEditor extension by Mika. I can look into an update for the extension, but I'm busy and I have to go to school now...

Uh haven't tried that, can give it a try and see.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.