Avatar of websss
websss
Flag for Kenya asked on

X Y position to array item?

I have an image which is 320x240 px

I have an array of values for each pixel in the image (76,800 points)

If the user hovers over any part of the image I need to look at the array and return the corresponding value for it.

i.e.
X Y position [0,0] of the image = the first value in the array.

If I wanted to find out the X Y position [65,33] of the image, and then look up the  value in the array, what would be the correct forumla to do this
JavaScriptMath / Science

Avatar of undefined
Last Comment
Zakaria Acharki

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
ste5an

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Zakaria Acharki

You could create a function that will init your array from the given width/height and return it as the output :

function initPixelsArray(width, height)
{
  var pixels_arr = [];

  for (var i = 0; i < width; i++) {
    pixels_arr[i] = Array(height).fill().map((x, i) => i);

    for (var j = 0; j < height; j++) {
      pixels_arr[i][j] = 'INDEX '+i+'/'+j+' VALUE';
    }
  }
  
  return pixels_arr;
}

Open in new window


Then another function that searches for X/Y in the given array like :

function getIndex(arr, X,Y){
	return arr[X][Y];
}

Open in new window


Then call them like :

var pixels_arr = initPixelsArray(100, 50); //Init array
alert( getIndex(pixels_arr, 65, 33) ); //Get the specific x/y value

Open in new window

websss

ASKER
thanks both
Zakaria Acharki

You're welcome, glad to help brother.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck