【问题标题】:Flex BitmapData or ImageSnapshot for uninitialized components未初始化组件的 Flex BitmapData 或 ImageSnapshot
【发布时间】:2010-12-08 07:27:01
【问题描述】:

我想通过在我的 Flex 应用程序中捕获 BitmapDataImageSnapshot 的一些未初始化组件来制作某种缩略图。
有可能吗?

提前致谢!
米。

【问题讨论】:

    标签: apache-flex actionscript-3 flex3 mxml bitmapdata


    【解决方案1】:

    没有。如果组件未初始化,我相信您最终会得到空引用(图形和东西都将未初始化)。您可以简单地初始化组件,但将它们隐藏并获取缩略图。

    【讨论】:

    • 感谢您的回答。但是让我问你,如果我的应用程序中确实有一个组件实例但它还没有“渲染”呢?它位于某个自定义容器中,直到用户要求特定的孩子才“渲染”其孩子......嗯,我希望你明白我的意思=)谢谢!
    • 嗯...也许你可以让它渲染一些假孩子和缩略图?或者,您可以在拍摄缩略图时将其中的子部分替换为图像。
    • 对你的炸弹最好将它添加到显示列表中,但不在视野范围内,例如 x = 10000 和 y = 10000 ......这可能会做到。如果没有,我会感到惊讶。
    • @Jasconius 您认为只是删除该行 tempHolder.visible = false 并将他放到 x=something_out_of_stage 和 y=something_out_of_stage?嗯,我会尝试并报告回来=)谢谢!
    【解决方案2】:

    @CookieOfFortune 感谢您的帮助 =)
    我试图在我的主应用程序中做这样的事情

    private function createThumbs():void{
    
        thumbsData = new ArrayCollection();
    
        tempHolder.addChild(_32);
    
        var bm:BitmapData = getBitmapData(tempHolder);
        var img:Image = new Image();
        img.source = new Bitmap(bm);
        thumbsData.addItem(img);
    
        tempHolder.visible = false;
    
        testImg.source = new Bitmap(bm);
    }
    

    _32 是我想要缩略图的组件。 tempHolderCanvastestImgImage 类。 tempHolder 显示我想要捕获的内容,而 testImg 在我的情况下始终是白色...
    没看懂 =)

    再次感谢 ;-)

    【讨论】:

      【解决方案3】:

      @Jasconius 我使用了您描述的将导入内容的缩略图创建到 AIR 应用程序中的技术,并且构建所有例程很麻烦,但最终我对这个解决方案感到满意。我用它从图像、视频和模块创建缩略图(每个都有不同的容器和例程来加载和卸载素材)

      这样做的好处是,当您构建 thumbnailcreatorComponent 时 - 您可以将其放置在应用程序的视图区域中以查看正在发生的事情。稍后,当您确定一切正常时,您可以将 thumbnailCreator 设置为 -10000,-10000 并忘记它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-30
        • 1970-01-01
        • 1970-01-01
        • 2020-03-06
        • 2015-10-03
        • 1970-01-01
        相关资源
        最近更新 更多