お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"テキストファイルをBitMapに出力する"




あまり役に立たないと思いますが、

テキストファイルをBitMapに変換?するプログラムでーす

(注) FormCreate である事に意味はありません。

procedure TForm1.FormCreate(Sender: TObject);
var
    I,X,Y : Integer;
    BMP : TBitMap;
    MEMO : TStringList;
    OpenDialog : TOpenDialog;
begin
    //サンプルテキスト文章の作成
    //OpenDialogでファイルが選択されない場合この文章がBitMapになる。
    Memo := TStringList.Create;
    Memo.Clear;
    Memo.Add ('このプログラムは');
    Memo.Add ('テキスト文章を');
    Memo.Add ('BMP画像出力する為のものです');

    //OpenDialogの作成
    OpenDialog := TOpenDialog.Create(Self);
    with OpenDialog do
    begin
      Parent := Self;
      SetBounds (16,16,640,480);
      Name := 'OpenDialog1';
      FileName := '*.TXT';
    end;

    //OpenDialog実行
    if OpenDialog.Execute = true then
      Memo.LoadFromFile (OpenDialog.FileName);

    //BitMapのX方向の計算
    X:=0;
    for I:=0 to (Memo.Count)-1 do
    begin
      if X<Length(Memo[I]) then X:=Length(Memo[I]);
    end;

    //BitMapの作成
    BMP := TBitMap.Create;
    BMP.Width  := X * (BMP.Canvas.Font.Size);
    BMP.Height := ((BMP.Canvas.Font.Height * -1)+1) * Memo.Count;

    //TextからBitMapに変換する
    Y := 0;
    for I:=0 to (Memo.Count)-1 do
    begin
      BMP.Canvas.TextOut (0,Y,Memo[I]);
      Y := Y + (BMP.Canvas.Font.Height * -1) + 1;
    end;

    //BitMapでセーブする
    BMP.SaveToFile ('Text2BitMap.BMP');

    //全部開放
    BMP.Free;
    OpenDialog.Free;
    Memo.Free;

    //終了
    Exit;
end;

おおきなテキストファイルを変換しようとすると大変な事になると思います。

                                                            t.matsui KHE00221


Original document by t.matsui        氏 ID:(KHE00221)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum