困扰我几天的问题,请大家帮忙解决:  在编写图象处理软件的时候,怎么样实现对IMAGE图象的放大和缩小、以及图象的上下左右位置移动?有源码最好,高分送!

解决方案 »

  1.   

    将image控件的大小改变就能使图片大小变化。
    同时将strech属性设置为true。
      

  2.   

    1。你可以用一个临时的IMAGE_temp 然后设定IMAGE_temp的大小 在导入 就可以了吧  2。也可以用CANVAS 使用它的COPYRECT 例如:CANVAS。COPYRECT();
      

  3.   

    图象的上下左右位置移动:这就简单多了  自己找找吧  在MOUSEMOVE里就可以
      

  4.   

    我用下面程序实现了放大和缩小,但是还是有点问题,图象只往右下角放大或缩小,不能均匀的四周放大或缩小,大家给我看看,还有位置怎么移动啊?procedure TForm1.ZoomInOut(bitmap: TBitmap; m, n: extended);
    var
      Mybmp: TBitmap;
    begin
      self.DoubleBuffered := True;
      Mybmp := TBitmap.Create;
      Mybmp.Width := Trunc(m * Self.Image1.Width);
      Mybmp.Height := Trunc(n * self.Image1.Height);
      image1.Width := Mybmp.Width;
      image1.Height := MyBmp.Height;
      SetStretchBltMode(Mybmp.Canvas.Handle, HalfTone);
      Stretchblt(Mybmp.Canvas.Handle, 0, 0, Mybmp.Width,
        Mybmp.Height, OriginalBmp.Canvas.Handle, 0, 0, OriginalBmp.Width,
        OriginalBmp.Height,
        SRCCOPY);
      Mybmp.PixelFormat := pf24bit;
      image1.Picture.Bitmap.Assign(MyBmp);
      MyBmp.Free;
    end;
      

  5.   

    Mybmp.Width := Trunc(m * Self.Image1.Width);
      Mybmp.Height := Trunc(n * self.Image1.Height);
      image1.Width := Mybmp.Width;
      image1.Height := MyBmp.Height;
    之后再加上
    Mybmp.top:=image1.top-(m-1)*self.Image1.Height/2;
    Mybmp.left:=image1.left-(m-1)*self.Image1.Width/2;
    image1.top:=Mybmp.top;
    image1.left:=Mybmp.left;
      

  6.   

    Stretchblt 吧,这些代码上google,百度找就有
      

  7.   

    自己写不好控制,用DImageEn控件
      

  8.   

    请问楼上imageenview在那里可以有免费的下载啊,谢谢
      

  9.   

    [email protected]
    给我发邮件我给你发