//MessageBox.Show(pictureBox1.ImageLocation.ToString());
using (Bitmap bmp = new Bitmap(pictureBox1.Image))
{
pictureBox1.Image.Dispose();
bmp.Save(@path, System.Drawing.Imaging.ImageFormat.Jpeg); //这里报错GDI+ 中发生一般性错误。
bmp.Dispose();
}
//pictureBox1.Image.Save(path);
//pictureBox1.Image.Dispose();
BitmapImage bi= BITransformation(path);
win.image1[win.imgNumber].Source = bi;
win.fileName[win.imgNumber] = bi.UriSource.ToString();
this.Close();
在线等,可加分,谢谢
9 个解决方案
#1
可能是那张图片本身的问题,有些图片是带索引颜色的,不能直接转位图,得画上去,但是会变小
大致下面几种
public static PixelFormat[] IndexedPixelFormats
{
get
{
return new PixelFormat[]
{
PixelFormat.Undefined,
PixelFormat.DontCare,
PixelFormat.Format16bppArgb1555,
PixelFormat.Format1bppIndexed,
PixelFormat.Format4bppIndexed,
PixelFormat.Format8bppIndexed
};
}
}
另外,GDI参数设置错误,或者图片超过10000像素直接处理都会报一般性错误
大致下面几种
public static PixelFormat[] IndexedPixelFormats
{
get
{
return new PixelFormat[]
{
PixelFormat.Undefined,
PixelFormat.DontCare,
PixelFormat.Format16bppArgb1555,
PixelFormat.Format1bppIndexed,
PixelFormat.Format4bppIndexed,
PixelFormat.Format8bppIndexed
};
}
}
另外,GDI参数设置错误,或者图片超过10000像素直接处理都会报一般性错误
#3
我的代码问题是 第一次运行可以,但第二次调用这个方法时上面标注的地方就会报GDI+ 中发生一般性错误。
#4
我的代码问题是 第一次运行可以,但第二次调用这个方法时上面标注的地方就会报GDI+ 中发生一般性错误。
权限问题的话,怎么赋给它权限呢
#5
直接 pictureBox1.Image.Save 不可以吗?干嘛绕个圈子?
再说 pictureBox1.Image.Dispose(); 已将资源释放了,再次执行怎么会对呢?
再说 pictureBox1.Image.Dispose(); 已将资源释放了,再次执行怎么会对呢?
#6
using (Bitmap bmp = new Bitmap(pictureBox1.Image))
既然用了using, 这句就可以不要了bmp.Dispose();
既然用了using, 这句就可以不要了bmp.Dispose();
#7
因为不行,所以才试着释放一下
#8
直接 pictureBox1.Image.Save 不可以吗?干嘛绕个圈子?
再说 pictureBox1.Image.Dispose(); 已将资源释放了,再次执行怎么会对呢?
因为不行,所以才试着释放一下
#9
权限问题
http://bbs.csdn.net/topics/340250830
我的代码问题是 第一次运行可以,但第二次调用这个方法时上面标注的地方就会报GDI+ 中发生一般性错误。
权限问题的话,怎么赋给它权限呢
看看这篇文章 http://www.cnblogs.com/softidea/p/3253469.html
#1
可能是那张图片本身的问题,有些图片是带索引颜色的,不能直接转位图,得画上去,但是会变小
大致下面几种
public static PixelFormat[] IndexedPixelFormats
{
get
{
return new PixelFormat[]
{
PixelFormat.Undefined,
PixelFormat.DontCare,
PixelFormat.Format16bppArgb1555,
PixelFormat.Format1bppIndexed,
PixelFormat.Format4bppIndexed,
PixelFormat.Format8bppIndexed
};
}
}
另外,GDI参数设置错误,或者图片超过10000像素直接处理都会报一般性错误
大致下面几种
public static PixelFormat[] IndexedPixelFormats
{
get
{
return new PixelFormat[]
{
PixelFormat.Undefined,
PixelFormat.DontCare,
PixelFormat.Format16bppArgb1555,
PixelFormat.Format1bppIndexed,
PixelFormat.Format4bppIndexed,
PixelFormat.Format8bppIndexed
};
}
}
另外,GDI参数设置错误,或者图片超过10000像素直接处理都会报一般性错误
#2
#3
string path = @"..\controlBMP\controlBMP"+a+".jpg";
//MessageBox.Show(pictureBox1.ImageLocation.ToString());
using (Bitmap bmp = new Bitmap(pictureBox1.Image))
{
pictureBox1.Image.Dispose();
bmp.Save(@path, System.Drawing.Imaging.ImageFormat.Jpeg); //这里报错GDI+ 中发生一般性错误。
bmp.Dispose();
}
//pictureBox1.Image.Save(path);
//pictureBox1.Image.Dispose();
BitmapImage bi= BITransformation(path);
win.image1[win.imgNumber].Source = bi;
win.fileName[win.imgNumber] = bi.UriSource.ToString();
this.Close();
在线等,可加分,谢谢
string path = @"..\controlBMP\controlBMP"+a+".jpg";
//MessageBox.Show(pictureBox1.ImageLocation.ToString());
using (Bitmap bmp = new Bitmap(pictureBox1.Image))
{
pictureBox1.Image.Dispose();
bmp.Save(@path, System.Drawing.Imaging.ImageFormat.Jpeg); //这里报错GDI+ 中发生一般性错误。
bmp.Dispose();
}
//pictureBox1.Image.Save(path);
//pictureBox1.Image.Dispose();
BitmapImage bi= BITransformation(path);
win.image1[win.imgNumber].Source = bi;
win.fileName[win.imgNumber] = bi.UriSource.ToString();
this.Close();
在线等,可加分,谢谢
我的代码问题是 第一次运行可以,但第二次调用这个方法时上面标注的地方就会报GDI+ 中发生一般性错误。
#4
权限问题
http://bbs.csdn.net/topics/340250830
我的代码问题是 第一次运行可以,但第二次调用这个方法时上面标注的地方就会报GDI+ 中发生一般性错误。
权限问题的话,怎么赋给它权限呢
#5
直接 pictureBox1.Image.Save 不可以吗?干嘛绕个圈子?
再说 pictureBox1.Image.Dispose(); 已将资源释放了,再次执行怎么会对呢?
再说 pictureBox1.Image.Dispose(); 已将资源释放了,再次执行怎么会对呢?
#6
using (Bitmap bmp = new Bitmap(pictureBox1.Image))
既然用了using, 这句就可以不要了bmp.Dispose();
既然用了using, 这句就可以不要了bmp.Dispose();
#7
权限问题
http://bbs.csdn.net/topics/340250830
我的代码问题是 第一次运行可以,但第二次调用这个方法时上面标注的地方就会报GDI+ 中发生一般性错误。
权限问题的话,怎么赋给它权限呢
因为不行,所以才试着释放一下
#8
直接 pictureBox1.Image.Save 不可以吗?干嘛绕个圈子?
再说 pictureBox1.Image.Dispose(); 已将资源释放了,再次执行怎么会对呢?
因为不行,所以才试着释放一下
#9
权限问题
http://bbs.csdn.net/topics/340250830
我的代码问题是 第一次运行可以,但第二次调用这个方法时上面标注的地方就会报GDI+ 中发生一般性错误。
权限问题的话,怎么赋给它权限呢
看看这篇文章 http://www.cnblogs.com/softidea/p/3253469.html