名前 題名 ▼ KSCさん > ▼ Mr.XRAYさん > > procedure TForm1.InverseString(X1,Y1,X2,Y2: Integer; Text: String; AFont: TFont); > > ・ > > ・ > > ・ > > ・ > > try > > ACanvas:=TMetafileCanvas.Create(AMetaFile,0); > > try > > //メタファイルに必要なサイズを求める > > ACanvas.Font.Assign(AFont); > > AWidth :=ACanvas.TextWidth(Text); > > AHeight:=ACanvas.TextHeight(Text); > > //一旦描画を終了してメタファイルのサイズを設定 > > ACanvas.Free; > > AMetaFile.Width :=AWidth; > > AMetaFile.Height:=AHeight; > > //メタファイルCanvasを再生成 > > ACanvas :=TMetafileCanvas.Create(AMetaFile,0); > > ACanvas.Font.Assign(AFont); > > //フォントを正しく設定 > > AdjustFont(ACanvas); → コメント化 > > > > ACanvas.Brush.Style:=bsClear; > > ACanvas.TextOut(0,0,Text); > > finally > > ACanvas.Free; > > end; > > ・ > > ・ > > ・ > > 詳しくは、まだ調べていませんが上記の「AdjustFont(ACanvas);」の実行文を > コメント化する事でMr.XRAYさんの#2185のサンプル画面と同じ結果を得られました。 > > Mr.XRAYさんのソースと私のソースの何が違うのでしょうね? > > また、何か気づければ書き込みします。 > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link