0

我有一个纸牌游戏程序,当一张牌被丢弃并被发现是某种类型的牌时,它会进入我的 DefeatedChars 堆,它只是一个名为 DefeatedChars 的 PictureBox。目前,我所有的图像都是在运行时使用 ImageLocation 加载的,ImageLocation 是一些存储所有卡片图像的网站的字符串。我想知道如何将此字符串加载到 PictureBox 的 Image 属性,以便我可以旋转它,因为尝试旋转会给我一个空指针异常,因为 Image 什么都不是,至少我认为这就是原因。我通过调试知道当 DefeatedChars.Image 什么都不是。我的问题是,有没有办法在 ImageLocation 加载后旋转它,或者有没有办法将在 ImageLocation 找到的图像移动到图像属性中。最终,当我完成游戏时,我希望在图像位置找到的图像存储在本地某个地方,这样如果网站发生变化,卡片将保留其图像和属性,但这是以后的问题。这是我坚持的代码,它给了我一个空指针异常。我在 Visual Studio 中编码。

DefeatedChars.ImageLocation = tempCard.ImageLocation DefeatedChars.Image.RotateFlip(RotateFlipType.Rotate270FlipNone)

4

1 回答 1

0

我试过这个...... DefeatedChars.Image = Image.FromFile(tempCard.ImageLocation) 但我遇到了“不支持URI格式错误”。然后我在网上找到了这个小宝石,它替换了上面的第一行代码。

DefeatedChars.Image = Image.FromStream(System.Net.HttpWebRequest.Create(tempCard.ImageLocation).GetResponse().GetResponseStream())

它将 URL 转换为流,因此它可以被 Image 属性使用,它就像一个魅力。

于 2012-10-31T20:54:01.787 回答