c# - C# Picturebox在旋转原始图像后不会显示新图像
问题描述
问题:旋转图片框图像(不是 pbx 的图像)后,分配给 pbx 的新图像将不会显示或更新。旋转后的图像仍显示在 pbx 中。经过几天的试验和搜索 SO 和其他人,我找不到解决方案。
下面的简化代码说明了这个问题。毫无疑问,我忽略了一些非常简单的问题-问题是“什么”?
在 Win10 1909 v18363.778 中使用 Visual Studio 运行 C# Winforms .Net 4.7.2
private void btnOpen_Click(object sender, EventArgs e)
{
using (OpenFileDialog OpenFileDialog = new OpenFileDialog())
{
OpenFileDialog.Title = "Open Image...";
OpenFileDialog.Filter = "Image File (*.bmp; *.gif; *.jpg; *.jpeg; *.png; *.wmf)|*.*";
OpenFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
if (OpenFileDialog.ShowDialog() == DialogResult.OK)
{
srcImg = Image.FromFile(OpenFileDialog.FileName);
tmpImg = srcImg;
pbx1.Image = tmpImg;
}
}
}
private void btnRotate_Click(object sender, EventArgs e)
{
tmpImg.RotateFlip(RotateFlipType.Rotate90FlipNone);
pbx1.Image = tmpImg;
}
private void btnReset_Click(object sender, EventArgs e)
{
// following code will not load original source image to "pbx1.Image"
// the rotated image remains displayed...
pbx1.Image = null;
pbx1.Image = srcImg;
pbx1.Refresh();
}
解决方案
推荐阅读
- python - 如何使用列表的另一个元素查找嵌套列表的元素
- php - 在 PHP 中将方括号包含到单个 json 元素中
- file-upload - 如何使用 prisma-nexus 上传多个文件
- php - 尝试在 WordPress 中将自定义 jQuery 脚本排入队列时出现 503 错误
- vba - 运行时错误 91:未在 CustomXMLnode 上设置对象变量
- javascript - JavaScript 命令:»如果 div 宽度 <500px ...«
- java - 如何修复代码以使输出为回文或不是回文
- windows - 如何在 Octave、Coursera ML 练习中修复“使用 curl() 提交的 [error] 未成功”?
- python - 使 tkinter 按钮的行为类似于 ENTER
- reactjs - 为什么我的图像无法正确上传到 AWS S3?