我要显示一张图片,先有一个窗体,然后在上面放了一块面板,图片想要显示在面板上,如:panel的大小为300*200,而要加载的图片大小为600*300,用DrawImage只能画出来300*200的部份,其它的部份就不能出来,我也有试先得到图片的大小,然后把图片的尺寸赋给面板,但是还是不行,另外我有将panel的属性设为自动出现滚动条,还是不行,我希望的是图片全能画出来,显示不下的部份拖动滚动条就能看见那种效果,高手们请指教一下!来世做牛做马感谢大恩大德!!!!!

解决方案 »

  1.   

    private void Form2_Load(object sender, System.EventArgs e)
    {
    //要加载的图片
    Bitmap bmp=new Bitmap(Application.StartupPath + @"\1.jpg"); //在panel中加入一个label控件,一定要是panel的子控件
    label1.Size =bmp.Size ;
    label1.Location =new Point(0,0);
    //加载图形,我还没发现使用DrawImage可行的方法,
    //当DrawImage绘制,在滚动时会重新绘制图形,不可行。
    label1.Image =bmp;
    }
      

  2.   

    把DrawImage换成DrawImageUnscaled
    也可以换成其他的办法
    很多了
    FileInfo imgStr=new FileInfo("图像路径");
    if(imgStr.Extenion=".图像后缀")
    {
      panel1.BackgroundImageLayout = ImageLayout.Stretch;
      panel1.BackgroundImage=imgStr;
    }