【问题标题】:Matrix Transformation to Reduce bitmap or Zoom In矩阵变换以减少位图或放大
【发布时间】:2014-06-14 15:26:07
【问题描述】:

假设我有一个 500 像素的位图,我在运行时在上面画一条线。当线条最大点为 250px 时,它通常会停在位图的中间(因为位图的宽度是线条大小的两倍)。

有没有办法告诉位图或 Graphics.Drawline 或使用 Matrix(不确定)让线条一直延伸到最后,就像我放大一样?

我正在阅读有关矩阵变换的内容,这是实现该目标的正确方法吗?

【问题讨论】:

  • 矩阵变换(来自 Uni 图形模块的 IIRC)将涉及一个 2d 数组,该数组具有针对特定轴的各种系数。我觉得这可能有点重量级,你不能把线的长度加倍吗?
  • 将长度加倍是指将我传递给 GraphicsPath 的数组上的 X 值加倍?问题是我不知道线/曲线的实际最大长度是多少,直到我将它添加到我的数组中。不确定您是否打算在我用正确的值填充数组后重新计算数组中的值
  • 使用 Graphics.ScaleTransform()。

标签: c# system.drawing drawing2d


【解决方案1】:

感谢汉斯·帕桑特!!
解决方法是使用方法

myGraphicsInstance.ScaleTransform(float , float);

在图形类中可用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    相关资源
    最近更新 更多