首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

求助如何使用 GDI+ 绘画一堆自然的小点点

  •  
  •   daijinming · 32 天前 · 887 次点击
    这是一个创建于 32 天前的主题,其中的信息可能已经有所发展或是发生改变。

    GDI+中只能这么画点: bitmap.SetPixel(iColumn, iRow, color); ,可是这只是设置一个像素点,如何能模拟出现实中的点,有大有小,有深有浅,形状不规则,求思路

    15 回复  |  直到 2019-09-17 10:05:58 +08:00
        1
    ysc3839   32 天前 via Android
    你这个问题和 GDI 什么的无关,大概是计算机图形学的范畴,可能涉及到 3D 渲染了。
        2
    InternetExplorer   32 天前 via Android
    有大小的叫圆
        3
    xiri   32 天前 via Android
    同上,按你的描述,那叫圆,不是点
        4
    shawndev   32 天前
    像素是成像的最小单位,没办法做到有大有小。有大有小的那叫图形,属于计算机图形学的范畴。
        5
    littlewing   32 天前
    点是没有部分(μέρος)的东西”。点没有部分,所以也就没有大小[6]。

    在欧几里得几何中,点是空间中只有位置,没有大小的图形

    https://zh.wikipedia.org/wiki/%E7%82%B9
        6
    nicebird   32 天前
    画圆
        7
    wmhx   32 天前
    你画大小不一的实心圆 不就 o 了?
        8
    shirokow   32 天前 via Android
    lz 想要的是二维高斯函数的渐变效果吗
        9
    shirokow   32 天前 via Android
    @shirokow 不规则的效果可以试试 perlin noise
        10
    daijinming   32 天前
    @shirokow 二维高斯函数 这个好专业,能解释下吗, 看到 noise 估计就差不多来,就是设置一些干扰点用的
        11
    BirlGoy   32 天前   ♥ 1
    应该要用到 gdi+的 path。 思路是用颜色填充路径。其中路径可以是圆、方形、不规则图形等。
        12
    smilenceX   32 天前   ♥ 1
    看你提到“干扰点”,不负责地猜你是要生成验证码之类的东西。
    如果是这样的话,随机生成 x,y 作为圆心,再用随机的半径画圆就行了,同样,填充的颜色也可以随机。
        13
    shirokow   32 天前 via Android
    @daijinming 就是一维正态分布绕 Y 轴旋转一下的结果。这种图案就是边缘平滑一些
        14
    andychen20121130   32 天前
    5 个像素当成一个像素不就可以了
        15
    nvioue   31 天前 via Android
    现在还有 win32 编程!!看来是微软粉。不过我记得 gdi 这个东西早就 deprecated 吧?? 直接上 directwrite 可行?除非你要兼容 xp
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   880 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 21:34 · PVG 05:34 · LAX 14:34 · JFK 17:34
    ♥ Do have faith in what you're doing.