希望のサイズのプレースホルダ画像を作成するのが簡単な方法です。例えば、画像(幅、高さ)がある場合は、(n *幅、m *高さ)を作成してから、 。
必要な場合は、私はいくつかのコードを提供します。
private static Bitmap ResizeBitmap(Bitmap sourceBMP, Int32 widthMultiplier,
Int32 heightMultiplier)
{
var newWidth = sourceBMP.Width * widthMultiplier;
var newHeight = sourceBMP.Height * heightMultiplier;
var result = new Bitmap(newWidth, newHeight);
using (Graphics g = Graphics.FromImage(result))
g.DrawImage(sourceBMP, 0, 0, newWidth, newHeight);
return result;
}
static void Main(string[] args)
{
var widthM = 2;
var heightM = 2;
var image = (Bitmap)Image.FromFile(@"E:\YOUR_IMAGE_HERE.png", true);
var newImage = ResizeBitmap(image, widthM, heightM);
for(var i=0; i<image.Width;++i)
for(var j=0; j<image.Height;++j)
{
var pixelToCopy = image.GetPixel(i, j);
for (var k = 0; k < widthM; ++k)
for (var l = 0; l < heightM; ++l)
newImage.SetPixel(k * image.Width + i,
l * image.Height + j,
pixelToCopy);
}
newImage.Save(@"E:\NEW_BIG_IMAGE_HERE.png", ImageFormat.Png);
}
}
GetPixelとSetPixelは途中で遅いです。だから、恐らく安全でないコードを採用し、ループを書き直すことができます。例:MSDN
※画像は表示されません。*それはどういう意味ですか?また、いくつかのコードを表示してください。 – lokusking
@lokuskingは、1024 * 2048イメージを表示するのではなく、1024 * 1024イメージのみを表示しています。確かに、コードを投稿します。しばらくお待ちください。 – Chatra
「繰り返し」画像のみを表示したいのですか、保存しますか?表示は、ImageBrushで簡単に実現できます。 – Clemens