I agree with CC that your VI does not make sense at all. Why would you even need an extra array containing all x-values?
Anyway, if I understand you right, you want a new 2D array that has the same size as the picture but each element should contain the column index (x).
You really should maybe do a few tutorials and study some of the example that ship with LabVIEW.
Here are a few pointers to get you started:
To get the number of rows and columns, simply index the output array from "array size".
(It is extremely inefficient and convoluted to take the array and a transposed copy (!), autoindex them into a while loop that is guaranteed to stop after one iteration, then take the 1D array size of each.
(This is something that Rube Goldberg would probably do :D)
For example if you want a new 2D array with each element containing the x index (and I really don't see way you would need that), initialize the full size array, the e.g. replace each row with a slice of all x.
The attached VI (LabVIEW 7.1) shows some of these ideas.
You cannot measure the distance between two images without much extra information (where are the pictures located? what is their relative angle and distance? etc). Do you possibly want to meaure the distance between two points on an image? You would typically calculate that from the differences in the x and y indices using the Pythagorean theorem. IF you know the calibration (e.g. mm/pixel) you can then express it in millimeters.
Could you explain in a few more sentences exactly what you are trying to do? Thanks!