掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォントスタイルにItalicを使っても、重なった部分を描くようにするには? (ID:37989)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっております。 Delphi2007,XPです。 1文字ずつImageのCanvas上にDrawTextで文字を書いています。 フォントスタイルにItalicを使うと、文字の右上の端が切れてしまいます。 重なった部分がうまく描けていないんだと思います。 brush.style:=bsClear; をしても、うまくいきません。 重なった部分を描くには、どのようにしたらよろしいでしょうか? よろしくいお願いします。 ---------------------------------------------------- Form上にImage1を置いています。 procedure TForm1.Image1Click(Sender: TObject); var flg:Cardinal ; DTRect: TRect; x,y:integer; w,h:integer; t:string; i: Integer; begin image1.canvas.brush.style:=bsClear; image1.canvas.font.size:=20; image1.canvas.font.style:=[fsItalic]; t:='あいうえおかきくけこ'; x:=0; y:=0; for i := 0 to trunc(length(t)/2)-1 do begin w:=image1.canvas.TextWidth(copy(t,i*2+1,2)); h:=image1.canvas.TextHeight(copy(t,i*2+1,2)); dtrect.Left:=x; dtrect.top:=y; dtrect.Right :=x+w; dtrect.Bottom :=y+h; flg:=DT_center + DT_SINGLELINE + DT_VCENTER; DrawText( image1.Canvas.Handle, pchar( copy(t,i*2+1,2) ), -1, dtRect, flg ); x:=x+w; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.