memo 存為 jpg 圖檔時,如何才能使文字自動換行 ? |
|
enta
一般會員 發表:34 回覆:43 積分:15 註冊:2003-09-29 發送簡訊給我 |
在 Tmemo 內輸入一篇文章,將文章存入 jpg 圖檔,文字部份卻無法自動換行? 請教高手如何是好 ? procedure TMainForm.BitBtn1Click(Sender: TObject);
var Bmp : TBitmap;
Jpg : TJpegImage;
Pict: TPicture;
begin
try
Bmp := TBitmap.Create;
Jpg := TjpegImage.Create;
Jpg.LoadFromFile('c:\img.jpg');
Bmp.Assign(Jpg);
Bmp.Canvas.Brush.Style := bsClear;
Bmp.Canvas.Font.Color := mcolor;
Bmp.Canvas.Font.Size := StrToInt(Edit1.text);
Bmp.Canvas.Font.Name := FontComboBox1.FontName;
Bmp.Width := 250;
Bmp.height := 100;
Bmp.Canvas.TextOut(10,10, memo1.text); // 存入文字
Jpg.Assign(Bmp);
Jpg.SaveToFile('c:\img2.jpg');
InsertPicture := True;
finally
bmp.Free;
jpg.Free;
end;
Pict := TPicture.Create;
try
Pict.LoadFromFile('c:\img2.jpg');
Clipboard.Assign(Pict);
Editor.PasteFromClipboard;
finally
Pict.Free;
end;
end; chang yung chin
------
chang yung chin |
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi enta 您好:
若單純判斷Memo是否有換行
TextOutTop := 10; for i := 0 to Memo1.Lines.Count - 1 do begin Bmp.Canvas.TextOut(10,TextOutTop, memo1.Lines.Strings[i]); // 存入文字 TextOutHeight := Bmp.Canvas.TextHeight(Memo1.Lines.Strings[i]); TextOutTop := TextOutTop TextOutHeight; end;若不管Memo是否有換行, 而是超過長度強制換行 FontWidth := 0; FontBegin := 1; FontEnd := 0; TextOutTop := 10; for i := 0 to Length(Memo1.Lines.Text) do begin FontWidth := FontWidth Bmp.Canvas.TextWidth(Memo1.Lines.Text[i]); if FontWidth > Bmp.Width then begin FontEnd := i - 1; Bmp.Canvas.TextOut(10,TextOutTop, Copy(memo1.Lines.Text, FontBegin, FontEnd)); // 存入文字 TextOutHeight := Bmp.Canvas.TextHeight(Copy(memo1.Lines.Text, FontBegin, FontEnd)); TextOutTop := TextOutTop TextOutHeight; FontWidth := Bmp.Canvas.TextWidth(Memo1.Lines.Text[i]); FontBegin := i; end; end; if memo1.Lines.Text <> '' then Bmp.Canvas.TextOut(10,TextOutTop, Copy(memo1.Lines.Text, FontBegin, 10000));參考一下~~ 我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |