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

用GDI+在窗体上的panel控件里画上一张2000像素宽的图片,拖动滚动条时图片画不全,好像是绘制的慢一样解决方法

2012-01-19 
用GDI+在窗体上的panel控件里画上一张2000像素宽的图片,拖动滚动条时图片画不全,好像是绘制的慢一样用GDI+

用GDI+在窗体上的panel控件里画上一张2000像素宽的图片,拖动滚动条时图片画不全,好像是绘制的慢一样
用GDI+在窗体上的panel控件里画上一张2000像素宽的图片,拖动滚动条时图片画不全,好像是绘制的慢一样,不能很流畅的滚动图像,向哪个方向拖动哪个方向的图片和窗体边缘之间就有一小段画不上,拖动的很快时,图片和窗体边缘之间画不上图片的面积就大,拖动的慢画不上图片的面积就小, 好像和拖动滚动条的速度也有关系,试了NNNN次了,想了好多办法 还是照旧!实在没办法了!是GDI+的效率问题?不应该吧 画个图都会有这个问题?我想应该还是我的代码哪里有问题,代码如下,忘记说了,我这个窗体是一个子窗体
using   System;
using   System.Collections.Generic;
using   System.ComponentModel;
using   System.Data;
using   System.Drawing;
using   System.Text;
using   System.Windows.Forms;

namespace   MapEdit
{
        public   partial   class   newMap   :   Form
        {
                private   Image   im;//图片对像
                               
                private   Graphics   g;
                private   Graphics   g1;
                private   Bitmap   curBitmap;
               
                public   newMap(int   MapW,int   MapH,int   TitleW,int   TitleH)
                {
                        InitializeComponent();

                                             
                }
                               
                private   void   newMap_Load(object   sender,   EventArgs   e)
                {
                        im   =   Image.FromFile( "image.gif ");
                        panel1.Width   =   im.Width;
                        panel1.Height   =   im.Height;
                       
                        g   =   this.panel1.CreateGraphics();
                        g.Clear(Color.Black);
                        curBitmap   =   new   Bitmap(im.Width,   im.Height);
                        g1   =   Graphics.FromImage(curBitmap);
                        g1.DrawImage(im,   0,   0,   im.Width,   im.Height);
                }
               
                private   void   newMap_Paint(object   sender,   PaintEventArgs   e)
                {


                     
                        g.DrawImage(curBitmap,   0,   0);
                     
                }
               
        }
}


[解决办法]
如果是设置picturebox的iamge属性而不是画到panel上还慢的话应该就是控件的问题,而不是GDI的问题了吧?
我用我说的方法画一个象素为7000+的图象,移动起来也没有你说的问题啊,我的cpu只是赛扬2.0

热点排行