字问题!!如何使"pppp1111"变为"1111qqqq",实现文字反射。

解决方案 »

  1.   

    uses StrUtils;function ReverseString(const AText: string): string;
      

  2.   

    aiirii(ari-爱的眼睛) 
    好像不对啊
      

  3.   

    uses StrUtils;
    就可了!procedure TForm1.Button3Click(Sender: TObject);
    var s:string;
    begin
      s := '123456';
      s := ReverseString(s);
      showmessage(s);
    end;
      

  4.   

    就是显示反射,我有一个显示器和一块镜,用镜反射显示器,要求从镜子看是正常的,所以就得改变显示器的字体。例如从镜子看"ppmm",显示器就得"mmqq",就象是photoshop里面,水平旋转画布的效果,
      

  5.   

    可以实现
    楼主,你在msdn里查一下字体相关的函数就可以了~
    现在手边没什么资料,没法帮你查
      

  6.   

    图象反射变换如下
    procedure TForm1.Button1Click(Sender: TObject);     var x,y:integer;
         begin
         form1.Refresh;
         for x:=0 to image1.picture.width-1 do //获取图象的宽度;
         begin
         for y:=0 to image1.picture.height-1 do //获取图象的高度;
         begin
         //镜像和反射效果;
         //form1.canvas.pixels[150+x,y]:=image1.canvas.pixels[x,image1.picture.height-y]; //垂直镜像;
         form1.canvas.pixels[16+x,y+8]:=image1.canvas.pixels[image1.picture.width-x,y]; //水平镜像;
         //form1.canvas.pixels[x,y]:=image1.canvas.pixels[image1.picture.width-x,image1.picture.height-y];
         //垂直镜像和水平镜像同时作用;
         end;
         end;
    *********************************
    其实我想处理的不光是一幅图,而是把一篇文章的字体放大,实现屏幕自动往上滚,从而可以浏览整篇文章的内容,大家有什么好办法啊
      

  7.   

    to  ehom(?!) :
    你说的对,效率的确很低,那应该怎么做呢?
    用delphi可以实现吗?还是要用其它软件做啊?还望多多指教。。
      

  8.   

    procedure FlipHorz(const Bitmap:TBitmap);
    var
      i, j: Integer;
      row1, row2, rowRGB: PRGBTriple;
      Width, Height: Integer;
    begin
      Width := Bitmap.Width;
      Height := Bitmap.Height;
      GetMem(rowRGB, 3);
      for  j := 0 to Height - 1 do
      begin
        row1 := Bitmap.ScanLine[j];
        row2 := row1;
        Inc(row2, Width - 1);
        for i := 0 to (Width div 2) - 1 do
        begin
          rowRGB^ := row1^;
          row1^ := row2^;
          row2^ := rowRGB^;
          Inc(row1);
          Dec(row2);
        end;
      end;
      FreeMem(rowRGB);
    end;
      

  9.   

    >>文字反射
    我明白了, 圖像反謝就簡單點,
    如果文字, 那可能要用查表的方式解決了!
      

  10.   

    to ehom(?!):你的代码中的Bitmap应该怎么用??怎么我用FlipHorz(memo1.Brush.Bitmap);会出错?原因在于这句Width := Bitmap.Width;怎么用Bitmap啊??
      

  11.   

    to ehom(?!):
    你的方法好象可以。。但怎么才可以在Bitmap中导入大量文字呢?
      

  12.   

    没说要把所有文字画到位图上,这个问题需要综合效率和内存占用量,比如可以开两个显示区大小的位图作为缓存,第一个位图存第一屏的文字.再另外开一个位图作为显示区缓存,把两屏数据的各一部分按象素行COPY到显示区缓存位图上,自然而然的就能产生滚动效果.文字画到位图上,直接用GDI就可以了,VCL也封装了一些东西.要文字边缘也变的平滑,可以查阅一些反走样输出图形的资料.