Adobe
产品
Acrobat
Creative Cloud
创意套装
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
更多产品
解决方案
数字营销
数字媒体
教育
金融服务业
政府部门
网页体验管理
更多解决方案
学习帮助下载公司
商店
在线商店
批量许可
查找经销商
搜索
 
信息 登录
欢迎,我的支持
我的帐户
注销
为何登录?登录后可以管理您的帐户,访问试用版下载、产品扩展和社区区域等。
Adobe
产品 分类 购买   搜索  
解決方案 公司
学习
登录 注销 我的货物 我的支持
Date Date
Qty:
Subtotal
Checkout
Adobe 开发者中心 / Flash 开发人员中心 /

使用Flash Player 10的颜色修正功能

作者 Dave Jacowitz

Dave Jacowitz

Content

  • Flash Player如何使用颜色修正功能
  • 测试范例文件
  • 了解代码

创建日期

22 November 2010

页面工具

在 Facebook 上共享
在 Twitter 上共享
在 LinkedIn 上共享
书签
打印

要求

必备知识

具有使用Flash 制作工具和 ActionScript 3.0的一般经验。 此外,了解颜色管理知识也很重要。

如需获得更多信息,请阅读下面白皮书:Color consistency and Adobe Creative Suite (PDF, 2 MB)。

用户级别

中级

必需产品

  • Flash Player
  • Flash Professional (Download trial)

范例文件

  • color_correction_flash_player.zip

计算机显示器、打印机和手机基于使用的不同技术对颜色的显示方式各不相同。 目前,大多数浏览器根据其主设备的本机颜色特性来确定如何显示颜色。 然而,许多用户使用大量设置来校正其显示器,然后基于这些设置生成一个配置文件(profile)。 建立配置文件的标准格式可以创建ICC(International Color Consortium,国际颜色联合会)颜色配置文件,它能够表示一个显示器的颜色特性。 应用程序可以使用这些ICC配置文件来调整颜色以便补偿显示器的颜色特性。 使用特殊设备颜色配置文件来调整颜色被称为Adobe Flash Player的颜色修正(color correction),而使用颜色配置文件的过程被称为颜色管理(color management)。

Adobe Flash Player 10 (及以后版本) 允许内容开发人员指定SWF文件是否使用本地设备的显示器颜色配置文件。 如果你利用 Adobe Flash Professional为Flash Player 10开发内容,则你可以为你的SWF文件提供颜色修正功能。 这样,当在一个设备上显示SWF 文件 (正如一个桌面计算机显示器使用该显示器的颜色配置文件一样) 以及使用设备的颜色配置文件打印SWF文件时,二者的颜色是相同的。

Flash Player如何使用颜色修正功能

在默认情形下,Flash Player 能够理解使用 sRGB gamma(g) 2.2 颜色空间 (sRGB 是"standard red, green, and blue"的首字母缩写词)的RGB颜色。 然而,该颜色空间不能定义在显示器屏幕上绘制的颜色。 你需要打开Flash Player 10的颜色修正功能以便定义在显示器上绘制的颜色。 当图像不使用sRGB时,它通常具有嵌入配置文件,该文件可以告诉应用程序如何将图像转变为sRGB。

注:如果你将带有嵌入配置文件的图像导入至 Flash Professional中,该颜色配置文件将被删除,因此在Stage上不能使用嵌入颜色配置文件进行图形显示操作。

Flash Player 10 (及以后版本) 具有一个ActionScript API ,该API允许你设置SWF文件是否使用本地设备的颜色配置文件。 该新的API 已经包含于ActionScript 3.0 Reference for the Adobe Flash Platform的 flash.display.Stage.colorCorrection 部分。 可以使用新的ActionScript API 来确定SWF 是否使用标准的 sRGB 颜色配置文件或 本地设备的颜色配置文件。

另外,该新的API还包含一个Stage.colorCorrectionSupport 属性,该属性能够真正现实下列两个目的:

  • 确定是否安装显示器颜色配置文件 Stage.colorCorrectionSupport 属性是只读属性,它可以表示SWF文件是否被设置为使用显示器的颜色配置文件。 如果当前系统没有安装或不支持显示器配置文件功能,则相应的Stage.colorCorrectionSupport属性应该是 unsupported并且不能启动颜色修正功能。
  • 确定主机(host)(通常为浏览器) 当前是否被设置为使用颜色管理功能。 该属性可以被设置为defaultOn或 defaultOff(根据 Stage.colorCorrection属性的设置)。 当主机正在使用颜色管理时,相应的值应该是defaultOn,并且设计人员能够使用这一信息并且基于浏览器中的开关状态来设置颜色管理功能的开关。 通过使用颜色管理功能可以设置浏览器和Flash Player显示相同颜色。 例如,如果背景HTML颜色必须与SWF中的颜色匹配,则颜色管理功能非常有用。

注:目前,Linux/Unix系统或颜色分辨率小于32-bit的系统不支持SWF文件颜色修正功能。 在这些系统中,相应的Stage.colorCorrectionSupport 属性值总是unsupported。

当开启颜色管理功能时,相应的颜色将从sRGB转换为显示器的颜色配置文件,因此,用户看到的在显示器中定义为 sRGB的颜色与真正的sRGB颜色相同。 如果颜色管理转换功能没有开启,则颜色可以在显示器的颜色空间中显示,并且在不同显示器上显示的颜色效果不同。 此外,Flash Player总是对整个Stage的颜色进行更正,因此颜色配置文件适用于一个SFW文件中的所有图像。 你不可以有选择地对SWF文件的部分内容,而不对其它内容,设置使用颜色修正功能。

例如,该范例文件包含一个具有嵌入颜色配置文件的图像文件(Peppers_withGBRprofile.jpg) 。 当你在一个支持GBR颜色配置文件的浏览器中打开它时,你将看到黄色、红色、绿色和橙色的4个胡椒。 否则,你将看到的胡椒为绿色和蓝色阴影。 此外,该范例文件还包含另一个具有内置RGB颜色配置文件的图像 (Peppers_RGB_8C.jpg) —这是在默认情形下Flash Professional支持的颜色管理。 比较下列相同胡椒的两副图像(参见图1)。

 具有 GBR颜色配置文件的图像 (左) 和具有RGB 颜色配置文件的图像(右)。 (由 Robert Stevenson拍摄。)
图1. 具有 GBR颜色配置文件的图像 (左) 和具有RGB 颜色配置文件的图像(右)。 (由 Robert Stevenson拍摄。)

注:尽管Flash Player颜色更正功能可以用于多显示器配置,但只有主显示器的颜色配置文件能够应用于SWF文件。

Flash Player颜色修正功能的确存在一些不足之处。 你不能访问设备的颜色配置文件,并且不能改变颜色配置文件或在ActionScript中进行颜色转换。 使用当前配置文件可以自动进行所有颜色转换操作;当颜色修正属性被禁止或不可用时,颜色转换将被忽略。

lblHasCM.addEventListener(Event.ADDED, addHandler); btnToggle.addEventListener(MouseEvent.CLICK, doToggle); function addHandler(add_event:Event) { if (stage.colorCorrectionSupport == ColorCorrectionSupport.DEFAULT_ON || stage.colorCorrectionSupport == ColorCorrectionSupport.DEFAULT_OFF) { lblHasCM.text = "stage.colorCorrectionSupport: " + stage.colorCorrectionSupport; } else { lblHasCM.text = "stage.colorCorrectionSupport: unsupported"; } } function doToggle(e:MouseEvent) { // don't try to toggle if color management is not supported if(stage.colorCorrectionSupport == ColorCorrectionSupport.DEFAULT_ON || stage.colorCorrectionSupport == ColorCorrectionSupport.DEFAULT_OFF) { switch(stage.colorCorrection) { case ColorCorrection.ON: stage.colorCorrection = ColorCorrection.OFF; lblCMEnableState.text = "State: " + stage.colorCorrection; break; case ColorCorrection.OFF: stage.colorCorrection = ColorCorrection.DEFAULT; lblCMEnableState.text = "State: " + stage.colorCorrection; break; case ColorCorrection.DEFAULT: stage.colorCorrection = ColorCorrection.ON; lblCMEnableState.text = "State: " + stage.colorCorrection; break; default: lblCMEnableState.text = "Error."; break; } } else { lblCMEnableState.text = "Color Correction is not supported."; } }

ActionScript 由 Albert Chang提供,他是Flash Player的软件质量保证工程师。

结果

点击拨动按钮可以通过colorCorrection的on/off/default 状态看到 SWF 文件循环情况。 如果Stage.colorCorrectionSupport的属性为unsupported,则SWF 文件不能读取显示器正在使用的配置文件:

缺少 Flash player 您必须装有 Flash 10? 您必须装有 Flash 10?

由于有些浏览器现在可以支持显示器颜色配置文件 (例如 Safari 3和 Firefox 3),因此,你将看到在支持颜色修正配置文件的浏览器和不支持颜色修正配置文件的浏览器之间运行范例SWF文件的不同之处。 当 Stage.colorCorrection属性的值是default时,你可以看到这一差异。 此外,你可以在你的系统中加载不同颜色配置文件以便查看范例中每个配置文件的效果。

Stage.colorCorrection属性支持下列两个选项:

  • 发送不带调整量的颜色至显示器 (与Flash Player早期版本的方式相同)。 正如在SWF文件中编码的那样,不带调整量的颜色将被直接发送至显示器;RGB 值为127,127,127,它将以数值127,127,127的形式发送至显示器。 如果显示器具有红色特征,并且颜色相对较暗,则SWF文件看起来为暗红色。
  • 使用显示器的颜色配置文件发送颜色至显示器以便调整颜色值。 如果显示器具有红色特征,则通过将on值赋给Stage.colorCorrection属性,可以调整颜色以便对这一红色特征进行补偿;此时,RGB值 127,127,127 将以 125,127,127 的形式发送给显示器。 使用sRGB颜色空间的RGB的等同值是 "中性色调" ,并且颜色管理的目标是在显示器上看到中性色调,即使显示器具有红色特征。

注:某些支持显示器配置文件的浏览器在默认情形下关闭颜色管理功能。 请阅读你的浏览器帮助文档以便了解更多相关信息。

测试范例文件

该范例文件的zip文档包括下列文件:

  • colorcorrection.fla: 范例的Flash Professional CS4文件。
  • colorcorrection_CS5.fla: 范例文件的Flash Professional CS5 版本。
  • Peppers_withGBRprofile.jpg: 具有嵌入GBR颜色配置文件的图像文件。
  • Peppers_RGB_8C.jpg: 具有嵌入RGB颜色配置文件的图像文件。

按照下面步骤测试范例文件:

  1. 下载链接至上面的范例文件。
  2. 在Flash Professional中打开FLA文件。
  3. 选中 Control > Test Movie菜单选项 (或按下 Ctrl+Enter键)。 或者,使用 File > Publish菜单选项发布文件并且在浏览器中查看它。

了解代码

范例的ActionScript代码包含于每个范例 FLA文件中:

  1. 下载链接至上面的范例文件。
  2. 选中 Window > Actions菜单选项 (或按下 F9键) 以便打开Actions面板和查阅 ActionScript。

本文没有为在应用程序中使用的所有ActionScript类提供描述。 如需了解更多信息,参见A ActionScript 3.0 Reference for the Adobe Flash Platform。


相关的Flash 快速入门文章

  • 利用Flash的ActionScript制作动画效果(Animating with ActionScript in Flash)
  • 制作可访问的用户界面(Making accessible user interfaces)
  • 使用ActionScript 3绘画命令(Using ActionScript 3 drawing commands)

产品

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • 移动应用程序
  • Photoshop
  • Touch Apps

解决方案

  • 数字营销
  • 数字媒体
  • 网页体验管理

行业

  • 教育
  • 金融服务业
  • 政府部门

帮助

  • 产品帮助中心
  • 订货和退货
  • 下载和安装
  • 我的 Adobe

学习

  • Adobe 开发人员连接
  • Adobe TV
  • 培训和认证
  • 论坛
  • 设计中心

购买方式

  • 在线商店
  • 批量许可
  • 查找经销商

下载

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

公司

  • 新闻编辑室
  • 合作伙伴计划
  • 公司社会责任
  • 工作机会
  • 投资者关系
  • 事件
  • 法律
  • 安全
  • 联系 Adobe
选择您的地区 中国(更改)
选择您的地区 关闭

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

使用条款 | 隐私政策和 Cookies (更新)

京 ICP 备 10217899 号 京公网安备 110105010404