请给源码,谢谢各位高手的帮助!!

解决方案 »

  1.   

    给分吧???这个一定行的
    --- Delphi中的Image构件可以显示位图,进一步,我们还可以用它完成位图旋转。
    ---- 把一个点绕原点旋转α角度后,新的坐标位置与原坐标位置的关系是:
    X=xcosα-ysinαY= xsinα+ycosα例如要把位图顺时针旋转90度,坐标变换公式为:X=-y Y=x
    ---- 把这一公式用到Image构件上,显示位图的主要问题是Image构件显示的位图只有一个象限, 并且x、y坐标也是互相颠倒的,为了解决这个问题,必须在Image构件上建立一个新的坐标原点。下面就举例说明。---- 1. 新建一工程project1在form1上添加image1、 image2、 image3、image4,其 Autosize属性设为Trueimage1用来显示原图,image2、image3、image4分别用来显示旋转90度、180度和270度后的图像。双击image1,选定一幅bmp图。
    ---- 2. 添加Button1、Button2、Button3和Button4按钮,其caption属性分别为“原图”、 “旋转90度”、“旋转180度”、“旋转270度”。
    ---- 3. 编写“旋转90度”按钮的On Click事件。
    procedure TForm1. Button2Click (Sender: TObject);varij:integer;begin//确定旋转后位图的大小image2.Picture.Bitmap.Height:=image1.picture.width;image2.Picture.Bitmap.Width:=image1.picture.height;for i:=0 to image1.Height dofor j:=0 to image1.Width doimage2.canvas.Pixels[(-i+ image1.Height)
    j]:=image1.canvas.Pixels[ji];end;---- 4. 编写“旋转180度”按钮的On Click事件。procedure TForm1.Button3Click(Sender: TObject);varij:integer;begin//确定旋转后位图的大小image3.Picture.Bitmap.Height:=image1.picture.Height;image3.Picture.Bitmap.Width:=image1.picture.Width;for i:=0 to image1.Height dofor j:=0 to image1.Width doimage3.canvas.Pixels[(image1.Width-j)(image1.Height-i)]:=image1.canvas.Pixels[ji];end;
    ---- 5. 编写“旋转270度” 按钮的On Click事件。代码和步骤3相似,只需要用image4 替换image2,然后用以下的语句替换步骤3 for循环中的原有的语句。image4.canvas.Pixels[i(image1.Width-j)]:=image1.canvas.Pixels[ji];
      

  2.   

    真拿你没办法,这次把示例程序给你!
    http://www.ehomsoft.com/pictest.zip