从鼠标位置缩放和平移图像
问题描述
尝试从鼠标位置缩放和平移图像时,图像跳跃并且无法从重新定位的原点进行扩展。旋转、缩放和平移功能可以正确运行,无需翻译到鼠标位置。
实现
为了实现从鼠标位置缩放和平移图像,我们采用以下策略:
-
TranslateTransform:将位图翻译为鼠标
-
ScaleTransform:根据缩放系数缩放图像。
-
TranslateTransform:将图像平移回原始位置。
-
TranslateTransform:基于平移平移图像
代码
建议
- 将转换分解为专门的方法。
- 使用自定义 PictureBox使用双缓冲(例如, PictureBoxEx)。
- 利用 Matrix.RotateAt 和 Matrix.Multiply 进行高效转换。
以上是如何在 C# 中从鼠标位置正确缩放和平移图像?的详细内容。更多信息请关注PHP中文网其他相关文章!