APIのTEXTOUT とDelphiの関数のTextOutの描画の違いとは?


Nami  2005-06-04 00:13:41  No: 15354

APIを使用して
  var
    buf : array[0..64] of Char;
  begin
    StrPCopy(buf, 'test');
    TEXTOUT(Image.Canvas.Handle, 100, 150), buf, StrLen(buf);
  end;

と記述する方法と、Delphiの関数を使用して

    Image.Canvas.TextOut(100, 150, str);

と記述する方法では、描画される位置が異なるのはなぜでしょうか??

またまた初心者発言で申し訳ありません。
ご回答いただけたら嬉しいですm(_ _)m


Nami  2005-06-04 00:14:59  No: 15355

○訂正(Line : 11)

  Image.Canvas.TextOut(100, 150, str);

ではなくて、

  Image.Canvas.TextOut(100, 150, 'test');

です。


にしの  2005-06-04 00:34:22  No: 15356

試したところ、全く同じ座標に表示されています。
強いて言うならば、CanvasのTextOut関数は、APIのExtTextOut関数を使用しています。
APIのTextOutと、APIのExtTextOutとが違う動きであれば、差異が生じるかもしれません。


Nami  2005-06-04 01:03:23  No: 15357

>にしの様

再びご回答ありがとうです。

そうですか…私ももう少し考えてみます。

ちなみにパフォーマンスを考慮した場合、Delphi関数を使用した方が
良いのでしょうか?


にしの  2005-06-04 01:31:42  No: 15358

処理のパフォーマンスは、APIの方が良いです。
開発のパフォーマンスは、Delphi関数の方が良いです。
人それぞれだとは思います。これは個人的な感想です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加