如何制作可调整大小的矩形选择工具?

Posted

技术标签:

【中文标题】如何制作可调整大小的矩形选择工具?【英文标题】:How to make a resizeable rectangle selection tool? 【发布时间】:2009-04-04 06:24:03 【问题描述】:

我正在尝试使用 C# 2008 或 QT4 编写一个非常简单的照片编辑器。

如何制作像 Photoshop 那样可调整大小的矩形选择工具?

【问题讨论】:

您能解释一下如何 Photoshop 是如何做到的吗?我猜这里有一些人不是普通的 Photoshop 用户。 这是一个带有点样式边框的可调整大小的选择矩形。边框上的点具有选框效果。 【参考方案1】:

如果您谈论的是“经典”“橡皮筋”类型的选择矩形,请查看How to draw a rubber band rectangle or a focus rectangle in Visual C#。

【讨论】:

【参考方案2】:

WPF 代码示例:http://www.codeproject.com/KB/WPF/wpfmarchingants.aspx?display=Print

这个有点复杂,因为它涉及到图像裁剪,但是如果你向下滚动到选择矩形,你可以看到计算矩形的基本公式:http://69.10.233.10/KB/WPF/ImageCropper.aspx

最后,另一个使用 GDI 的:http://codelog.blogial.com/2008/10/31/rubber-band-selection-rectangle-in-c/

如果您提供更多细节,我相信我们可以为您提供更多帮助。

【讨论】:

【参考方案3】:

Qt 有一个类:

http://doc.trolltech.com/4.5-snapshot/qrubberband.html

【讨论】:

【参考方案4】:

我不知道具体的电话,但想法是这样的:

您想绘制一个带有不透明或虚线边框的透明矩形。单击鼠标按钮时会出现矩形。按住按钮时,矩形的尺寸将随着鼠标的移动而改变,左上角的点位于单击按钮的位置,右下角跟随鼠标移动。释放按钮会使矩形在选择区域上固定其位置。

您应该能够从 C# Drawing 命名空间上的资源中找出详细信息。

【讨论】:

以上是关于如何制作可调整大小的矩形选择工具?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery UI 获取可拖动和可调整大小元素的坐标

Java:制作可调整大小和可拖动的组件

在画布上制作可拖动、可调整大小的图像

SwiftUI:滚动视图中的顶部锚定可调整大小视图

摆动面板可调整大小的间隙

使 QML TreeView 可调整大小