none
如何控制Graphics.DrawLine的绘制方式? RRS feed

  • 问题

  • 我要实现的方法:

    加载位图到TextureBrush,然后赋值给Pen,再利用Pen根据像素格子进行绘制,实现的效效果像下面那样:

    但是我实际实行起来的样子确是很糟糕的- -,像这样:

    ===============================

    请问有什么办法能实现图1的那种效果呢?

    ==============================

    提前致谢!

    2017年12月18日 6:25

答案

  • Hi,

    感谢你的反馈。

    根据这个drawline的函数介绍,好像没有设置笔的大小。这样就不能符合你的需要。

    你可以尝试在创建笔的时候,来确定大小。

    Note:我觉得drawline 是画线,也许出来的效果都是折线。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Troy_Zhang 2017年12月19日 7:20
    2017年12月19日 6:48
    版主

全部回复

  • Hi,

    欢迎在MSDN论坛发帖。

    从这两张图对比来看,应该是你的brush 的宽度和高度 和你坐标轴定义大小的不一样。

    从TextureBrush 的官方文档,可以知道brush的大小,是有最后两个参数来决定的,你可以尝试去修改一下。

    TextureBrush(&someImage, WrapModeTile, 12, 50, 100, 150)

    例如上面就指出刷子的宽带是100,高度是150.

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年12月18日 9:31
    版主
  • 抱歉,可能我表达的不够清楚,我的需求就是按住鼠标移动进行绘制,鼠标经过哪个单元格,就在哪个格子里面用TextureBrush填充,如果只是用普通的FillRectangle是可以,但是鼠标高速移动时并不能达到想要的效果会有部分单元格遗漏。

    而DrawLine并不会遗漏,所以我在想有没有可以控制DrawLine按我的方法进行绘制呢

    2017年12月18日 12:33
  • Hi,

    感谢你的反馈。

    根据这个drawline的函数介绍,好像没有设置笔的大小。这样就不能符合你的需要。

    你可以尝试在创建笔的时候,来确定大小。

    Note:我觉得drawline 是画线,也许出来的效果都是折线。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Troy_Zhang 2017年12月19日 7:20
    2017年12月19日 6:48
    版主
  • 好吧,我正在尝试用其他方法实现了,谢谢你的解答
    2017年12月19日 7:20