I've figured out a fast an easy method for finding the intersection point of two lines. :)
With this I can get all kinds of collision detections between lines and line shapes such as triangles, rectangles, ect...
I can now make perfect and fast collision detection between shapes and even sprites.
Here's the formula:
//Line 1
int x1 = 10;
int y1 = 210;
int x2 = 200;
int y2 = 10;
//Line 2
int x3 = 10;
int y3 = 200;
int x4 = 200;
int y4 = 10;
//Now let us find x and y of intersection point
float x = ( (x1*y2-y1*x2)*(x3-x4) - (x1 - x2)*(x3*y4 - y3*x4) ) / ( (x1-x2)*(y3-y4)-(y1-y2)*(x3-x4) );
float y = ( (x1*y2-y1*x2)*(y3-y4) - (y1 - y2)*(x3*y4 - y3*x4) ) / ( (x1-x2)*(y3-y4)-(y1-y2)*(x3-x4) );
-Gan