小编gal*_*leo的帖子

从鼠标位置缩放和平移图像

问题:尝试使用 Paint 事件中的变换从(或在)鼠标位置缩放(缩放)图像以将位图原点转换为鼠标位置,然后缩放图像并将其原点转换回。

  • 平移鼠标位置时,图像跳转并且无法从重新定位的原点缩放。
  • 正确旋转、缩放和平移功能,无需平移到鼠标位置。

在 .Net 4.7.2 上运行,在 Windows 10 1909 v18363.778 中使用 Visual Studio

相关代码块:

private void trackBar1_Scroll(object sender, EventArgs e)
{
    // Get rotation angle
    ang = trackBar1.Value;
    pnl1.Invalidate();
}

private void pnl1_MouseWheel(object sender, MouseEventArgs e)
{
    // Get mouse location
    mouse = e.location;

    // Get new scale (zoom) factor
    zoom = (float)(e.Delta > 0 ? zoom * 1.05 : zoom / 1.05);
    pnl1.Invalidate();
}

private void pnl1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button != …
Run Code Online (Sandbox Code Playgroud)

c# graphics gdi+ image winforms

4
推荐指数
1
解决办法
509
查看次数

标签 统计

c# ×1

gdi+ ×1

graphics ×1

image ×1

winforms ×1