喫茶XRAYトップページ

[スレッド全体
]

[6560] Re6:メタファイルとマッピング返信 削除
2012/12/17 (月) 17:10:15 おかぽん
余計な部分の描画を抑えたいということであれば・・・

CreateRectRgnで1ページ分の矩形範囲のリージョンを作成
SelectClipRgnで、キャンバスにクリッピングリージョンを設定する。

メタファイルの描画を行い

再度SelectClipRgnで、クリッピングリージョンを削除し
DeleteObjectで、リージョンを廃棄する。

コードで書けばこんな感じ
var
  hrgn:Thandle;
bgein
  hrgn := CreateRectRgn(20,20,200,250);
  SelectClipRgn(Image1.Canvas.Handle, hrgn);
  //ここでImage1.Canvasにメタファイル描画
  SelectClipRgn(Image1.Canvas.Handle, 0);
  DeleteObject(hrgn);
end;

試していないので、できるかわかりませんけど。

[6561] Re7:メタファイルとマッピング返信 削除
2012/12/17 (月) 17:43:47 taki
▼ おかぽんさん

ありがとうございます。
試してみます。


[6562] Re7:メタファイルとマッピング返信 削除
2012/12/17 (月) 19:27:42 taki
▼ おかぽんさん

Image1へのクリッピングは簡単にできました。

さらに、プリンターへの出力のクリッピングもうまくできました。

こんな方法があるのですね。
大変勉強になりました。 (^_^)

[6563] Re7:メタファイルとマッピング返信 削除
2012/12/17 (月) 19:47:06 Mr.XRAY
▼ おかぽんさん

>CreateRectRgnで1ページ分の矩形範囲のリージョンを作成
>SelectClipRgnで、キャンバスにクリッピングリージョンを設定する。


なるほどね.
ホントに,よくまぁ,考えつくもんですね.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82