/// <summary>
/// Draws an image transformed.
/// </summary>
void DrawImageSheared(XGraphics gfx, int number)
{
BeginBox(gfx, number, "DrawImage (sheared)");
XImage image = XImage.FromFile(jpegSamplePath);
const double dx = 250, dy = 140;
//XMatrix matrix = gfx.Transform;
//matrix.TranslatePrepend(dx / 2, dy / 2);
//matrix.ScalePrepend(-0.7, 0.7);
//matrix.ShearPrepend(-0.4, -0.3);
//matrix.TranslatePrepend(-dx / 2, -dy / 2);
//gfx.Transform = matrix;
gfx.TranslateTransform(dx / 2, dy / 2);
gfx.ScaleTransform(-0.7, 0.7);
gfx.ShearTransform(-0.4, -0.3);
gfx.TranslateTransform(-dx / 2, -dy / 2);
double width = image.PixelWidth * 72 / image.HorizontalResolution;
double height = image.PixelHeight * 72 / image.HorizontalResolution;
gfx.DrawImage(image, (dx - width) / 2, 0, width, height);
EndBox(gfx);
}