public void getLngLat(double x, double y, out double lng, out double lat)
{
int MAP_HEIGHT = _rasterInfo.rasterHeight;
int MAP_WIDTH = _rasterInfo.rasterWidth;
//extents of bounding box
double e = _rasterInfo.rasterTopLeftX; //eastern boundary latitude
double w = _rasterInfo.rasterDownRightX;//western boundary latitude
double n = _rasterInfo.rasterTopLeftY;//north boundary longitude
double s = _rasterInfo.rasterDownRightY;//south boundary longitude
//int MAP_HEIGHT = 1310;//2615; // 5952;
//int MAP_WIDTH = 2558;// 8568;
//extents of bounding box
//double e = 44.4491887;// 44.5273990; //eastern boundary latitude
//double w = 44.385351;//44.273999; //western boundary latitude
//double n = 33.335706;// 33.404047; //north boundary longitude
//double s = 33.303235;//33.251287; //south boundary longitude
//calculate extents based on differences, convert to positive values
double nsspan = Math.Abs(n - s);
double ewspan = Math.Abs(w - e);
double nspix = MAP_HEIGHT / nsspan; //gives you how many pixels in a lng point
double ewpix = MAP_WIDTH / ewspan; //gives you how many pixels in a lat point
lng = w + x / ewpix;
lat = n - y / nspix;
}