如何在应用程序中创建桶填充工具?

发布于 2024-10-19 21:29:35 字数 866 浏览 2 评论 0原文

如何在 Flex 的油漆应用中实现桶填充工具?

case FILL:
        var b:BitmapData = new BitmapData(width, height);
        b.draw(this);
        b.lock();
        var from:uint = b.getPixel(x,y);

        var q:Array = [];

    var xx:int;
    var yy:int;
            var w:int = b.width;
        var h:int = b.height;
        q.push(y*w + x);
        while (q.length != 0) {
               var xy:int = q.shift();
        xx = xy % w;
            yy = (xy - xx) / w;
            if (b.getPixel(xx,yy) == from) { 
                b.setPixel(xx,yy,SolidColorStroke(stroke).color);
                if (xx != 0) q.push(xy-1);
                    if (xx != w-1) q.push(xy+1);
                if (yy != 0) q.push(xy-w);
                if (yy != h-1) q.push(xy+w);
                }
            }
            b.unlock(null);
            break;

阿卜杜勒·哈利克

how can i implement a bucket fill tool in paint application in flex?

case FILL:
        var b:BitmapData = new BitmapData(width, height);
        b.draw(this);
        b.lock();
        var from:uint = b.getPixel(x,y);

        var q:Array = [];

    var xx:int;
    var yy:int;
            var w:int = b.width;
        var h:int = b.height;
        q.push(y*w + x);
        while (q.length != 0) {
               var xy:int = q.shift();
        xx = xy % w;
            yy = (xy - xx) / w;
            if (b.getPixel(xx,yy) == from) { 
                b.setPixel(xx,yy,SolidColorStroke(stroke).color);
                if (xx != 0) q.push(xy-1);
                    if (xx != w-1) q.push(xy+1);
                if (yy != 0) q.push(xy-w);
                if (yy != h-1) q.push(xy+w);
                }
            }
            b.unlock(null);
            break;

Abdul Khaliq

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等往事风中吹 2024-10-26 21:29:35

您是否尝试过 Bitmapdata.floodFill

Have you tried with Bitmapdata.floodFill?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文