急, 阿拉伯文字的字型點陣問題 |
尚未結案
|
anqiYao
一般會員 發表:1 回覆:3 積分:5 註冊:2003-04-18 發送簡訊給我 |
|
japhenchen
高階會員 發表:51 回覆:444 積分:184 註冊:2003-07-23 發送簡訊給我 |
取得內碼?
ORD('1')=49 ; // ASCII碼 [/CODE]
//抓全形字內碼?
PROCEDURE ABC;
VAR A: STRING ;
A1,A2: WORD;
BEGIN
A:='1'; //中文全形字?
A1:=ORD(A[1]); //取得第一個位元組的內碼
A2:=ORD(A[2]); //就是第二個位元組囉
SHOWMESSAGE(INTTOHEX(A1,2) INTTOHEX(A2,2)); // 秀出內碼雙位元碼A2B0
END; //自己做點陣字庫(存在BMP圖片)
procedure TForm1.Button2Click(Sender: TObject);
VAR X , NX , NY: INTEGER;
NBMP : TBITMAP;
BEGIN
NBMP:=TBITMAP.CREATE;
FOR X := 0 TO 9 do WITH nbmp do BEGIN
canvas.font.name:='細明體'; // 這字型不會因不同數字而尺寸變大變小
canvas.Brush.Color:=clWHITE;
Font.color:=clBlack;
font.size:=20;
WIDTH:=canvas.TEXTEXTENT(INTTOSTR(X)).CX;
HEIGHT:=canvas.TEXTEXTENT(INTTOSTR(X)).CY;
canvas.fillrect(rect(0,0,width-1,height-1));
canvas.textout(0,0,inttostr(x));
nbmp.savetofile(inttostr(x) '.bmp');
END;
FREEANDNIL(NBMP);
end;
// 看你要多大的字,統統都有了(放在程式同路徑下的bmp檔里)!是不是這樣的點陣字形?
[/CODE]
|
japhenchen
高階會員 發表:51 回覆:444 積分:184 註冊:2003-07-23 發送簡訊給我 |
出槌了!最底下的例子里,font.name跟font.color之前都要加canvas.
改成
procedure TForm1.Button2Click(Sender: TObject); VAR X , NX , NY: INTEGER; NBMP : TBITMAP; BEGIN NBMP:=TBITMAP.CREATE; FOR X := 0 TO 9 do WITH nbmp do BEGIN canvas.font.name:='細明體'; // 這字型不會因不同數字而尺寸變大變小 canvas.Brush.Color:=clWHITE; canvas.Font.color:=clBlack; canvas.font.size:=150; WIDTH:=canvas.TEXTEXTENT(INTTOSTR(X)).CX; HEIGHT:=canvas.TEXTEXTENT(INTTOSTR(X)).CY; canvas.fillrect(rect(0,0,width-1,height-1)); canvas.textout(0,0,inttostr(x)); nbmp.savetofile(inttostr(x) '.bmp'); END; FREEANDNIL(NBMP); end; |
japhenchen
高階會員 發表:51 回覆:444 積分:184 註冊:2003-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |