我需要镜像一个镜像并像这样显示它:

要像这样显示:

这是我的代码,到目前为止,我没有运气:
int Height = TransformedPic.GetLength(0);
int Width = TransformedPic.GetLength(1);
for (int i = 0; i < Height; i++)//loop rows
{
for (int j = 0; j < Width; j++)//loop columns
{
TransformedPic[i, j] = TransformedPic[i, ((2 * Width) - (j + 1))];
}
}发布于 2015-10-22 02:52:09
Image.RotateFlip将以更快、更容易的方式完成这项工作:
Bitmap bmp1 = (Bitmap)pictureBox1.Image;
Bitmap bmp2 = new Bitmap(bmp1.Width * 2, bmp1.Height);
using (Graphics G = Graphics.FromImage(bmp2))
{
G.DrawImage(bmp1, 0, 0);
bmp1.RotateFlip(RotateFlipType.RotateNoneFlipX);
G.DrawImage(bmp1, bmp1.Width, 0);
pictureBox2.Image = bmp2;
}

相反,您可以使用类似于您的Bitmap.GetPixel和Bitmap.SetPixel的循环,但这将非常慢:
TransformedPic.SetPixel(Width - i, j, TransformedPic.GetPixel(i,j));超过一半的宽度..
发布于 2021-02-14 20:00:02
或者你可以像这样在一行代码中完成:
picBox.Image.RotateFlip(RotateFlipType.RotateNoneFlipX)https://stackoverflow.com/questions/33266596
复制相似问题