我编写了一个代码,用于从文件中读取png图像并显示控件.
我想从流和设置读取图像
control.BackgroundImage = Image.FromStream(memStream);
Run Code Online (Sandbox Code Playgroud)
但是当使用这段代码时,会发生"内存不足"异常.但是在使用时
control.Image = Image.FromStream(memStream);
Run Code Online (Sandbox Code Playgroud)
要么
control.BackgroundImage = Image.FromFile(fileSource);
Run Code Online (Sandbox Code Playgroud)
那就是工作.
图像文件大小为5KB.
if (System.IO.File.Exists(imgSource))
{
using (FileStream localFileStream = new FileStream(imgSource, FileMode.Open))
{
using (MemoryStream memStream = new MemoryStream())
{
int bytesRead;
byte[] buffer = new byte[1024];
while ((bytesRead = localFileStream.Read(buffer, 0, buffer.Length)) > 0)
{
memStream.Write(buffer, 0, bytesRead);
}
retIMG = Image.FromStream(memStream);
pictureBox1.Image = retIMG; // is work
label1.Image = retIMG; // is work
button1.Image = retIMG; // is work
button1.BackgroundImage = retIMG; // …Run Code Online (Sandbox Code Playgroud)