(FRex his solution is a lot simpler
)
This can be done by using the GPU (little hack) or with some polygon point checking algorithm.
1) On the GPU, this is called "picking". You simply draw the tree onto another rendertarget (e.g. renderTexture). When you click you check the color of this position, if it is transparent you missed, if it is a non transparent color you hit the tree. This is easy if you have one element you want to check.
If you have multiple object this is a bit tricky, because you cannot create a renderTexture for every object, you would run out of GPU VRAM, or the multiple getPixelColor will slow down your game (Transfer from GPU to CPU bottleneck). Howerver there is a trick, you can draw with a custom shader where you set a unique color for all your objects. So if the alpha of the sprite/texture fragment is > 0 draw this color otherwise dont fill the pixel. Then you can draw every object with a different color onto one renderTexture get the color and match it to one(clicked) object.
2) On the CPU, for this you have to model the non transparent parts of the image as a polygon. There is also the option to create it automatically (google it, but it may be compilcated). If you have the polygon you have to check if your point is inside this polygon, for an example for such an algorithm look
here.