Any signed integer with a 1 set in the most significant bit position will cause the number to be negative. Don't worry about it, that's just how it works. Why do you want to convert to hex? You can just use the integer representation instead.
Yes the last x and y position will be found by the width and height of the image.
I've not got my PC to hand, only my tablet but think that you should be able to check for a range of integer values between your chosen shades of red. However if you want to get each ARGB value from the integer you can use Erel's sample code detailed here...How to convert Int to R,G,B,Trans?
I've just remembered that I once programmed an App that counted a time down, in doing so it changed the Activity background from green through to orange and finally red. It did this using the HSV colour model. Maybe the code will be of use to you as shades of red are any value were my variable 'percent' is approx 30% or less. This was found somewhere on Stack Overflow I think and so all credit goes to that person
'Subs in this code module will be accessible from all modules.
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim cR,cG,cB As Int
Sub HSV2RGB(h As Float,s As Float,v As Float)
Dim i As Int
Dim r,g,b As Float
Dim f,p,q,t As Float
If s=0 Then
Called using the following sub....
Sub SetColor(Percent As Float)
'Change background from green to red as time runs low
H=Percent*0.4*360 ' Hue (note 0.4 = Green)
S=0.9 ' Saturation
V=0.9 ' Value
'Call function to convert HSB to RGB values
'Modify activity background as time elapses
Just a thought that using a different colour model might make it easier to extract different shades or a range of reds.