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
○訂正(Line : 11)
Image.Canvas.TextOut(100, 150, str);
ではなくて、
Image.Canvas.TextOut(100, 150, 'test');
です。
試したところ、全く同じ座標に表示されています。
強いて言うならば、CanvasのTextOut関数は、APIのExtTextOut関数を使用しています。
APIのTextOutと、APIのExtTextOutとが違う動きであれば、差異が生じるかもしれません。
>にしの様
再びご回答ありがとうです。
そうですか…私ももう少し考えてみます。
ちなみにパフォーマンスを考慮した場合、Delphi関数を使用した方が
良いのでしょうか?
処理のパフォーマンスは、APIの方が良いです。
開発のパフォーマンスは、Delphi関数の方が良いです。
人それぞれだとは思います。これは個人的な感想です。
ツイート | ![]() |