@seadude's solution works for me (well done seadude!).
The OnVisible property of the screen sets the following 2 variables:
Set(varInitialPenInput, PenInput1.Image); Set(varPenInput, PenInput1.Image)
The OnSelect property of the pen input control sets the varPenInput variable.
To check for changes, you can compare varInitialPenInput against varPenInput.
If(varInitialPenInput <> varPenInput,
"Yes it has",
"No it hasn't"
Okay, now I see the difference. I was setting the variables at OnVisible, but I did not see the step about updating the variable at OnSelect.
That will work but there is 1 catch. If the user clicks the X to "reset" the image back to blank, it will allow the user to save a blank image. I will see if there is a way to prevent that.
Okay, it works now with a nested If statement on DisplayMode
If(varInitialPenInput <> varPenInput, If(varPenInput = PenInput1.Image, DisplayMode.Edit, DisplayMode.Disabled), DisplayMode.Disabled)
After it compares to make sure the initial image is not the same as the "after" image, it also checks to make sure the current value of the image is the same as the "after" image (because current value of the image (PenInput1.Image) will change when the X "reset" is selected, but the OnSelect code does not run when that happens, so that will make the values different and it should be disabled).
This is the only working method for me for Power Apps online.
I have a clear signature button in case the signature is not as expected.
At the time of clear I have to also collect a new blank image to compare against blank since resetting the pen input will create a new image with a different "ID".
Fill out a quick form to claim your user group badge now!
Find out where you can attend!
Features releasing from October 2019 through March 2020
Learn how to build the business apps that you need.