Вы можете сделать это так:
Bitmap myImage = new Bitmap(50, 50); //assuming you want you image to be 50,50
Bitmap originalImage = new Bitmap("myPngSource.png"); //original image to copy
using (Graphics g = Graphics.FromImage(myImage))
{
g.DrawImage(originalImage, new Rectangle(0, 0, originalImage.Width, originalImage.Height));
}
MemoryStream ms = new MemoryStream();
myImage.Save(ms, ImageFormat.Png);
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = ms;
bi.EndInit();
MyImageControl.Source = bi;
Или что-то в этом роде, это не было проверено, и я просто вырвал его из небольшого вспомогательного приложения, которое я сделал некоторое время назад.Надеюсь, это поможет ... Вам просто нужно изменить ширину конечного изображения и сделать цикл над вызовом g.DrawImage
, увеличивая второй параметр на ширину originalImage.(т.е. если вы хотите 5 повторений, сделайте цикл for 5 раз)
HTH --Mark