Catalog · How the catalog works
ClipRectControl
画像のクリッピング範囲を表示編集可能なカスタムコントロール
- ★ 1 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
ClipRectControl
ClipRectControl は、Delphi 用のカスタムコントロールで、画像上に固定アスペクト比のクリップ矩形(選択範囲)を表示・操作できます。
🔧 主な機能
- ビットマップ画像のズーム表示(スクロール対応)
- アスペクト比固定のクリップ矩形の描画
- クリップ範囲の移動および四隅からのリサイズ
- マウスホイールによるズームイン・ズームアウト
- 画面外に出ないよう自動補正
- マウスカーソルの自動切り替えによる直感的操作
- 背景の暗転処理による選択範囲の視認性向上
🧩 使用方法
- コントロールをフォームに配置するか、動的に生成します。
LoadBitmapメソッドで元画像とアスペクト比を設定します。ClipRectプロパティで現在の選択範囲を取得・設定できます。
ClipControl.LoadBitmap(MyBitmap, 768, 512); // 横768:縦512のアスペクト比⚙ 公開プロパティ一覧
| プロパティ | 説明 |
|---|---|
ClipRect |
選択中のクリップ矩形(画像座標系) |
ClipWidth |
論理的なクリップ横幅(アスペクト比用) |
ClipHeight |
論理的なクリップ縦幅 |
ClipVisible |
クリップ枠を表示するかどうか |
ClipBorderPen |
枠線の色・幅・スタイルを設定するペン |
EdgeSize |
角・端のドラッグ判定範囲(ピクセル) |
ZoomStep |
ホイール操作でのズーム倍率ステップ |
ZoomMax |
最大ズーム倍率 |
📦 実装上の特徴
TScrollBox + TPaintBoxの組み合わせにより画像スクロール対応- 拡大表示用に
FViewBitmapを使って再描画を最適化 - マウスホイール処理や描画処理はすべて内部で完結
📝 ライセンス・作者
- 作成者: (VRAMの魔術師)
- ライセンス: MIT など任意で指定可能

