We can take control of the image size with ImagePad to resize the images and with the ImageSize -> option of the Show command. Here is some code that illustrates the approach.
ClearAll["Global`*"]
h = ExampleData[{"TestImage", "House"}];
{wd, ht} = ImageDimensions[h];
imgLeft = ImagePad[h, {{0, 0}, {0, ht}}, White];
sizeLeft = ImageDimensions[imgLeft];
imgRight = ImagePad[h, {{0, wd}, {0, ht}}, White];
sizeRight = ImageDimensions[imgRight];
line = Graphics[{Line[{{0, 0}, ImageDimensions[imgRight]}]}];
m = 1/2;
Grid[{{
Show[imgLeft, ImageSize -> m*sizeLeft],
Show[{imgRight, line}, ImageSize -> m*sizeRight]}},
Alignment -> {{Left, Left}, {Bottom}},
Frame -> All]

We use the Frame -> All option initially to see the image spacing, borders, etc, and remove it later.
To create the images at the same scale, we first note that the diagonal line is the diagonal of an image that is twice as large as the original. Knowing that, we pad the original to be the same width and height as the line to obtain an image for the right panel. Padding does not distort the original. For the left image we pad the original to the same height as right image. The padding is only applied to the right and at the top of the original.
We can introduce a "magnification factor", $m$, to control the overall size of the images. The magnification is applied in the ImageSize -> option of the Show commands.
Note that the GraphicsGrid command is similar to Grid command but seems to introduce additional, unwanted padding.
PlotRange-> Alland check – Ali Hashmi May 27 '17 at 13:29Grid[{{Show[h, PlotRange -> ImageDimensions[h]], Show[h, Graphics[Line[{{0, 0}, ImageDimensions[h]*2}]], PlotRange -> All]}}]– Ali Hashmi May 27 '17 at 13:50Grid[{{Show[h, PlotRange -> hDim], Show[h, Graphics[Line[{{0, 0}, hDim*2}]], PlotRangePadding -> 0, PlotRange -> All]}}]? – kglr May 27 '17 at 23:53