问题描述
由于我程序的开发流程,我想达到以下目标:(1)怎么才可以保证把图片赋值给pictureBox后,再从pictureBox取出时依然是原始的图片.(2)如果第一点无法做到,那pictureBox哪个事件是可以在pictureBox被赋值时,以便我把当前图片资源赋值到另外一个Bitmap变量上保存.//监控pic属性HorizontalResolution=95.9865952,VerticalResolution=95.9865952,Flags=78623Bitmappic=newBitmap(Image.FromFile(@"d:test.jpg"));pictureBox1.Image=newBitmap(pic);//这个时候再监控pic2,HorizontalResolution=96,VerticalResolution=96,Flags=2,可见三个参考属性都被改变,精度被降低Bitmappic2=newBitmap(pictureBox1.Image);
解决方案
解决方案二:
你自己给Image属性赋值的时候保存一下呗。
解决方案三:
更具体地说,你可以封装一个方法,以后重复调用方法来复用。
解决方案四:
Bitmappic=newBitmap(Image.FromFile(@"d:test.jpg"));你可以将你的pic,赋值给pictureBox的tag属性,然后下次要用的时候直接取pictureBox.tag再强制转换一下。不要直接取pictureBox.image,图片会随着你pictureBox的大小而改变。
解决方案五:
楼主用了3个newBitmap,这相当于复印了3次,怎么可能还是原始图片呢。
解决方案六:
bmp.Clone()试试,复制的是是个精确的副本
解决方案七:
Imagepic=Image.FromFile(@"d:test.jpg");pictureBox1.Image=pic;
解决方案八:
Bitmappic=newBitmap(Image.FromFile(@"d:test.jpg"));pictureBox1.Image=pic;操作pic进行图片修改绘制后。再次pictureBox1.Image=pic;而不要用pictureBox1.Image进行修改和绘制。
解决方案九:
你先告诉我,怎么能往银行里存1块钱,等拿出来的时候还是我存进去的那1块钱,而不是其他的长相差不多的1块钱
解决方案十:
引用1楼sp1234的回复:
你自己给Image属性赋值的时候保存一下呗。
顶!