【问题标题】:PictureBox rotates image by itselfPictureBox 自行旋转图像
【发布时间】:2014-02-13 14:24:08
【问题描述】:

我正在尝试从 FileDialog 获取图像 我的代码:

private void BtnAddImage_Click(object sender, EventArgs e)
        {
            OpenFileDialog addImage = new OpenFileDialog();

            if (addImage.ShowDialog() == DialogResult.OK)
            {
                PbAddImage.Image = new Bitmap(addImage.FileName);
            }
            PbAddImage.Image.Save("C:\\Users\\musa\\Documents\\Hobby\\testUser.jpg");
        }

当我选择高度大于宽度的图像时。 (例如,宽度 1200 像素,高度 1600 像素)。在图片框中,我看到这张图片左旋转。但如果图片宽度大于高度,则没有问题。

然后我将此图像保存到文件中,在保存的图像中没有问题。它不保存为旋转。

我该如何处理这个问题?为什么图片显示旋转?

编辑:这是我的 PbAddImage 属性:

this.PbAddImage.Location = new System.Drawing.Point(157, 211);
this.PbAddImage.Name = "PbAddImage";
this.PbAddImage.Size = new System.Drawing.Size(112, 161);
this.PbAddImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.PbAddImage.TabIndex = 138;
this.PbAddImage.TabStop = false;

【问题讨论】:

  • 问题出在您的PbAddImage 控件上,我们对此一无所知。可能是一些自动旋转属性。
  • PbAddImage是什么类型的控件?内置的PictureBox 不支持旋转,所以我想我们需要更多信息。
  • PbAddImage 只是一个普通的 PictureBox 吗?如果是这样,那么那里没有任何东西会导致图像旋转。我认为这实际上可能是您首先查看图像文件的方式正在旋转它。
  • 我用 PbAddImage 属性编辑了我的问题
  • 我们不需要它的类型那么多的属性,因为它看起来是一个自定义控件什么的;内置的 PictureBox 不应该这样做。

标签: c# image picturebox filedialog


【解决方案1】:

我已经重新创建了您放在这里的所有内容,但无法重现该问题,我想说您必须在某处旋转您的 PictureBox 的一些代码。我建议在你的PbAddImage 上做一个Find All References,看看是否有任何代码在你不知道的情况下旋转它。

抱歉,我本来想留下评论,但没有足够的代表。

【讨论】:

  • 非常感谢您的 cmets 给了我想法,我理解问题。这与我的代码无关。这只是我从文件中拍摄的照片。我从 Iphone 捕获图像,当我从另一个文件夹重新复制图像并且添加它们之后没有问题时,这就是某些图像中的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 2011-07-06
  • 2016-02-05
  • 1970-01-01
相关资源
最近更新 更多