首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

内存太大了,该如何处理

2012-04-13 
内存太大了我的界面上有很多的pic上面加载的是同一个图片。但是,我发现给每个图片加载之后内存占的太大了。

内存太大了
我的界面上有很多的pic上面加载的是同一个图片。但是,我发现给每个图片加载之后内存占的太大了。有没有什么办法可以减少下内存的占用,因为没个pic都是引用同一个图片。

[解决办法]
Image img=....
图片压缩大小
graghic g=;
g.DrawImage();

pic.Image=img2;
pic2.Image=img2;


[解决办法]
即使都是同一个图片,但是显示在多个image上,都是要分别加载到内存的,你可以同上引用一个image,不过那样,他们 会互相影响的,应该不是你要的效果
[解决办法]
所有pic指向同一Paint事件,在里面进行绘图操作

C# code
        public Form1()        {            InitializeComponent();            pictureBox1.Paint += new PaintEventHandler(pictureBox_Paint);            pictureBox2.Paint += new PaintEventHandler(pictureBox_Paint);            pictureBox3.Paint += new PaintEventHandler(pictureBox_Paint);          }        Image img = Image.FromFile(@"C:\Users\SaeWind\Desktop\123\1.png");        void pictureBox_Paint(object sender, PaintEventArgs e)        {            PictureBox pic = (PictureBox)sender;            Graphics g = e.Graphics;            g.DrawImage(img, new Rectangle(0, 0, pic.Width, pic.Height));        }
[解决办法]
这样 pictureBox1.Image一直为null
[解决办法]
新手,随便说下:能不能指向同一个栈区呢?

热点排行