现在有两个PictureBox,Pic1是Pic2的数倍,即横,宽都大很多。
要求,pic2中的图片是pic1中的缩小图,我现在是简单的把它进行缩小然后画进去,但是效果很不好,一些比较细的线就看不见了,
pic2.PaintPicture pic1.Image, 0, 0, pic2.ScaleWidth, pic2.ScaleHeight
问,应该怎么做,才能取得最好的效果。
其实说白了,就是游戏中的小地图功能。
注意的一点是,两者大小确实差了很多。

解决方案 »

  1.   

    '在pci2控件里面放一个image控件,大小和pic2一样。
    '将image控件的stretch属性设为true
    '然后
    Private Sub Form_Load()
        Image1.Picture = Picture1.Picture
    End Sub
      

  2.   

    最快的图像平滑缩放程序,作者zyl910:
    http://www.showyou.net/mycode/CodeView/CodeView_1452.html
      

  3.   

    Private Sub MDIForm_Resize()
    Dim X as long
    Dim Y as long
    Dim H as long
    Dim W as long
    With Form1      '这里原来是PICTURE1,现在我们用FORM1来显示
       .Move 0, 0, Me.Width - 128, Me.Height -400 '如果有菜单的话后面的数字改为704
       .Cls
       X=(.scalewidth-image1.width)\2   '如果想改为拉伸则:X=0
       Y=(.scaleheight-image1.height)\2 '如果想改为拉伸则:Y=0
       H=image1.height                  '如果想改为拉伸则:H=.scalehhight
       W=image1.width                   '如果想改为拉伸则:W=.scalehwidth
       .PaintPicture Image1.Picture,X,Y,W,H
       .refresh '因为我们将FORM的AUTOREDRAW设为TRUE,所以要REFRESH一下才能显示
    End With
    End Sub
    用图片随窗体改变大小方法,,,,,做一个小窗体,,这样图片也会跟着变小,,
      

  4.   

    多谢多谢!
    但是只有rainstormmaster提供的方法能够解决我的问题!
    另外两位就很抱歉了!