如果是几百k的小图片,扩大了也不会有卡的现象,
但是几M的大图移动到边缘时,图片的一部分会暂留一下。
请问怎么才能解决这个问题呢?
PictureBox p1 = new PictureBox();
p1.Size = new System.Drawing.Size(400, 200);
p1.SizeMode = PictureBoxSizeMode.Zoom;
// p1.Click += new EventHandler(p1_Click);
p1.Name = "img";
byte[] bytes = managers.GetImage(Convert.ToInt32(p.Tag.ToString()));
MemoryStream ms = new MemoryStream(bytes, true);
ms.Write(bytes, 0, bytes.Length);
p1.Image = new Bitmap(ms); //Bitmap bmp = new Bitmap(ms);
//Graphics g = Graphics.FromImage(bmp);
//p1.CreateGraphics().DrawImage(bmp, 0, 0);
p1.MouseDown += new MouseEventHandler(p1_MouseDown);
p1.MouseMove += new MouseEventHandler(p1_MouseMove);
p1.MouseUp += new MouseEventHandler(p1_MouseUp);
但是几M的大图移动到边缘时,图片的一部分会暂留一下。
请问怎么才能解决这个问题呢?
PictureBox p1 = new PictureBox();
p1.Size = new System.Drawing.Size(400, 200);
p1.SizeMode = PictureBoxSizeMode.Zoom;
// p1.Click += new EventHandler(p1_Click);
p1.Name = "img";
byte[] bytes = managers.GetImage(Convert.ToInt32(p.Tag.ToString()));
MemoryStream ms = new MemoryStream(bytes, true);
ms.Write(bytes, 0, bytes.Length);
p1.Image = new Bitmap(ms); //Bitmap bmp = new Bitmap(ms);
//Graphics g = Graphics.FromImage(bmp);
//p1.CreateGraphics().DrawImage(bmp, 0, 0);
p1.MouseDown += new MouseEventHandler(p1_MouseDown);
p1.MouseMove += new MouseEventHandler(p1_MouseMove);
p1.MouseUp += new MouseEventHandler(p1_MouseUp);
不行啊,大图在移动时如果重画会很占资源,比直接显示后移动还卡。