rt.
就像一些灌水工具的那样,多谢!

解决方案 »

  1.   

    我用bitmap输入,然后取值再画点,画出的字不是很
    规整,
    看到一些灌水工具搞出的很漂亮,不止是怎么画的?
      

  2.   

    var
     Bitmap:TBitmap;
    begin
     Bitmap:=TBitmap.Create;
     with Bitmap.Canvas.Font do
      begin
      Name := '隶书';
      Color:= clWhite ;
      Size := 24;
      end;
     Bitmap.Width :=Bitmap.Canvas.TextWidth('字');
     Bitmap.Height :=Bitmap.Canvas.TextHeight('字');// 给 Bitmap 上底色
     Bitmap.Canvas.Brush.Color:=clRed;
    // 写一个字在底色上
     Bitmap.Canvas.TextOut(0,0,'字');// 测试结果:
     Image1.Picture.Bitmap:=Bitmap;
    end;
      

  3.   

    多谢楼上的,
    我的意思是怎么用点的形式把他输出来?
    在bitmap上首先输出文字我知道,但是
    我从bitmap根据点的颜色取出点的信息,再
    画出来后,字型就变了,有的根本就认不出来了,:(我主要是往一个单片机上输出的,:)
      

  4.   

    程序名称:汉字字库的点阵提取程序 
      
    程序类型:硬件程序 程序演示: 演示  
        
    上传时间:2000-12-07 下载次数:13602 
        
      文件大小:200K 字节 
     下载地址一:
    http://www.laogu.com/download/ziku.zip
    软件简介:
     
    本程序可以从汉字字库中提取汉字的点阵,是一个编写液晶显示汉字的好帮手
      

  5.   

    不过我觉得还是不用字库的好。你说的从bmp提取后,字型就变了?为什么?你代码怎么写的?
      

  6.   

    //字符串转换为点阵形式
    function StrToLattice(strInput: String;iSize: Integer;FontColor: TColor): String;
    var
      tempBmp: TBitMap;
      i,j: Integer;
      tempStr: String;
    begin
      Try
        tempBmp := TBitMap.Create;
        tempBmp.Height := tempBmp.Canvas.TextHeight(strInput);
        tempBmp.Width  := tempBmp.Canvas.TextWidth(strInput);
        //tempBmp.PixelFormat := pf1bit;
        with tempBmp.Canvas.Font do
        begin
          Name := '隶书';
          Color:= clWhite ;
          Size := 24;
        end;
        tempBmp.Canvas.Brush.Color := clRed;
        tempBmp.Canvas.Font.Name := '宋体';
        tempBmp.Canvas.Font.Height := iSize;
        tempBmp.Canvas.TextOut(0,0,strInput);
        //行高
        for i :=  0 to iSize -1 do
        begin
          tempStr := '';
          //列数
          for j := 0 to Round(length(strInput)/2) * iSize -1 do
          begin
            if tempBmp.Canvas.Pixels[j,i] = clWhite then
            begin
              tempStr := tempStr + 'O' + '   ';
            end
            else
              tempStr := tempStr + '    ';
          end;
          tempStr := tempStr + #13;
          Result := Result + tempStr;
        end;
      Finally
        tempBmp.Free;
      End;
    end;这样输出的字体不好看啊,:(