はじめまして。初めて質問させていただきます。
C++Builderを使用してペイントツールを作成しておりまして、
MSのペイントの 曲線ツールと同じようなツール
(はじめに直線を引き次のクリックアンドドラッグで線がぐいーんってなるやつ)
を作りたいと思っています。(ベジェ曲線というらしいですね)
調べたところ、ベジェ曲線はPolyBezier関数を使用して描画するようなのですが
具体的な使用例が探しても見つからなかったため、どう使うのかがわかりかねております。
現状 直線、長方形、円形、フリーハンド、テキスト入力等のツールは完成しています。
PolyBezier関数は
void __fastcall PolyBezier(const TPoint* Points, const int Points_Size, int StartIndex = 0);
と定義されていて、引数の
const TPoint* Points
に何を設定するとよいのかがいまいちよくわからないといったところです。
完成しているツールの引数はint型で指定すればいいものばかりだったので。。。
もしもご存知の方がおられましたら、使用例などをご教授していただけるととても有難いです。
質問の内容が足りないようでしたらどうぞご指摘ください。
VC++ではないですが問題ないと思います。
どうぞよろしくお願いいたします。
GDIなら
BOOL PolyBezier(
HDC hdc, // handle to device context
CONST POINT* lppt, // endpoints and control points
DWORD cPoints // count of endpoints and control points
);
だし
MFCなら
BOOL PolyBezier(
const POINT* lpPoints,
int nCount
);
だし…
C++Builderのマニュアル読んでみては?
TPointってC++Builderでよくある独自定義のT〜なヤツじゃぁ…
>VC++ではないですが問題ないと思います。
根拠なく問題ないと思われてもなぁ…
ヘルプも読まずに見た感じで想像するなら
PointsにはTPoint(端点と制御点の座標を保持してる構造体?)の配列のアドレス
Points_Sizeには要素数,
StartIndexには描画開始する要素の開始位置
って感じだろうけど
表題よく読んでなかった
TCanvasってVCLだよね…?
DelphiかC++Builderの掲示板に行って聞いたほうがいいと思うけど。
ご返答ありがとうございます。
まだまだ未熟者で 同じC++なのでたいした差異はないだろうと
タカをくくっていたのですがそうでもないみたいですね^^;
推測で話した部分もあり申し訳ありません。
Delphiの掲示板で質問してみようかと思います。
どうも有難うございました。
コンパイラには大差なくともライブラリは大違い。
編集 削除