字存為字元圖片

來源:互聯網
上載者:User

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□■■■□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□■■■■□□□□■■■■■■■□■■□□□□□□□
□□□□□□□□■■■■■□□■■■■■■■■■■■■■□□□□□□
□□□□□□□■■■■■□□□■■■□□□□□■■■■■□□□□□□
□□□□□□■■■■■□□□□□□□□□□□■■■■■□□□□□□□
□□□□□□■■■■□□□□□□□□■■■■■■□□□□□□□□□□
□□■■■■■■■■■■■■□□□□□■■■■□□□□□□□□□□□
□■■■■■■■■■■■■■□□□□□□■■■□□□□□□□□□□□
□■■■□■■■■□■■■■■■■■■■■■■■■■■■■■■■□□
□□□□□■■■□□■■■□■■■■■■■■■■■■■■■■■□□□
□□□□□■■■■□■■■□■■□□□□■■■■□□□■■■□□□□
□□□□□■■■■□■■■□□□□□□□■■■■□□□□□□□□□□
□□□□□□■■■■■■□□□□□□□□■■■■□□□□□□□□□□
□□□□□□□■■■■■□□□□□□□□■■■■□□□□□□□□□□
□□□□□□□■■■■■■□□□□□□□■■■■□□□□□□□□□□
□□□□□□■■■■■■■■□□□□□□■■■■□□□□□□□□□□
□□□■■■■■■■□□■■□□□□□■■■■□□□□□□□□□□□
□□■■■■■■□□□□□■■■■■■■■■■□□□□□□□□□□□
□□□■■■□□□□□□□□□■■■■■■■□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□■■■□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

unit Unit3;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

type
    TForm1 = class(TForm)
        Memo1: TMemo;
        Button1: TButton;
        Label1: TLabel;
        Edit1: TEdit;
        FontDialog1: TFontDialog;
        procedure Button1Click(Sender: TObject);
        procedure Edit1Change(Sender: TObject);
    procedure FormClick(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

var
    Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
    i, j, w, h, l, t: Integer;
    st: string;
begin
    with label1 do
    begin
        l := Left;
        t := Top;
        w := Width;
        h := Height;
    end;
    Memo1.Lines.Clear;
    for j := t + 5 to h + t - 5 do
    begin
        st := '';
        for i := L to l + w do
        begin
            if self.canvas.Pixels[i, j] = ClBlack then
            begin
                st := st + '■'; ;
                canvas.Pixels[i + 200, j] := ClBlack;
            end
            else
                st := st + '□';

        end;
        memo1.Lines.Add(st)
    end;

end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
    label1.Caption := edit1.Text;
end;

procedure TForm1.FormClick(Sender: TObject);
begin

    FontDialog1.Font := label1.Font;
    if FontDialog1.Execute then
        label1.Font := FontDialog1.Font;

end;

end.

C#代碼

private void button5_Click(object sender, EventArgs e)
        ...{
            int i, j, w, h, l, t;
            l = label1.Left;
            t = label1.Top;
            w = label1.Width;
            h = label1.Height;
            string st;
            this.richTextBox1.Clear();

            Bitmap image = new Bitmap(this.pictureBox1.Width, this.pictureBox1.Height);

            Graphics g = Graphics.FromImage(image);
            g.DrawString(label1.Text, label1.Font, new SolidBrush(this.ForeColor), 0, 0);
            pictureBox1.Image = image;
            Bitmap bitmap = (Bitmap)pictureBox1.Image;
            Color c;
           
            for (j = 0; j < h ; j++)
            ...{
                st = "";



                for (i = 0; i < w; i++)
                ...{

                    c=bitmap.GetPixel(i, j);
                    if (c.ToArgb() != 0)
                    ...{
                        st = st + "■";

                    }
                    else
                        st = st + "□";
                }
                richTextBox1.Text += st + " ";
               
            }

        }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.