首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Flex的全屏背景图像

使用Flex的全屏背景图像
EN

Stack Overflow用户
提问于 2010-02-04 17:30:19
回答 5查看 6.4K关注 0票数 1

我想把一张图片加载到我的Flex应用程序的背景中。然而,我想知道一些事情,并有一些限制。

我想让它更像用CSS做的那样。请参阅此fullscreen background images with CSS示例。

非常重要的一点是,图像后面没有显示空白(背景颜色),并且图像没有拉伸。这将意味着一些图像将被切断。这绝对是好的。实际上,上面链接页面上项目符号列表中的前五点都是我想要的。

我是Flex框架的新手,但有很强的AS3背景。因此,我可以使用actionscript,使用掩码、stage.width/height、stages调整大小事件和一些Math代码轻松完成此操作。但是我想知道做这个的"Flex“方式是什么?

我不想缩小答案的范围,但我会创建自己的组件,扩展canvas,放在所有其他内容的后面吗?还是要我设置应用程序的某些属性?不然呢?

谢谢。

EN

Stack Overflow用户

发布于 2010-02-04 18:52:04

虽然这是一个纯粹的as3解决方案,它可能会让你在正确的方向上,这是从它的点0,0缩放图像,但不会很难改变它从中心缩放。代码如下:

代码语言:javascript
运行
复制
stage.align = "TL";
stage.scaleMode = "noScale";
// store original image size
var imgW:Number = img.width;
var imgH:Number = img.height;
// stage dimensions
var sW:Number = stage.stageWidth;
var sH:Number = stage.stageHeight;

resizer(null);
stage.addEventListener(Event.RESIZE, resizer);

private function resizer(e:Event):void
{
    // current stage dimension
    sW = stage.stageWidth;
    sH = stage.stageHeight;
    // check for proportions to make the resize based on right axis
    if ((sW / imgW) > (sH / imgH)) {
        img.width = sW;
        img.height = imgH * (img.width / imgW);
    } else {
        img.height = sH;
        img.width = imgW * (img.height / imgH);
    }
    // here you may want to deal with resize from center
    img.x = 0;
    img.y = 0;
}
票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2198537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档