![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ActionScript3游戏中的图像编程(连载)
iloveas2014
这个作者很懒,什么都没留下…
展开
-
ActionScript3游戏中的图像编程(连载十一)
1.2.5 colorTransform在色彩处理方面的不足 在以上的测试中,有些本来不同的颜色在经过colorTransform转换后变得出奇的一致,如果是想给图像做变色效果,这样的情况往往是我们想要避免的。此时,ColorTransform就有心无力了。 归根到底,还是在于RGB模式在人类的视觉体验方面做得不够友好。接下来,我们看看之前没测试过的alph原创 2014-08-01 01:11:57 · 550 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载二十一,第1章完)
1.4.3 用灰度/明度指导色彩搭配 试着只通过调整不等于0的通道,让上一排的色彩在灰度上保持一致,把三个颜色分别代入到心理学公式。得Gray(red) = r * 0.299Gray(green) = g * 0.587Gray(blue) = b * 0.114 让它们灰度相等,则r * 0.299 = g * 0.587 = b *原创 2014-08-02 16:24:54 · 977 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载十八)
1.3.4 HSB与RGB互转公式的ActionScript实现 为了让HSB转RGB这个通用的功能在后续的项目里可以重用,我们先把这个转换公式做成一个工具类,并且放入到公共类库里。当然,这样的类,网上也有很多现成的可以直接拿过来用(个人推荐frocessing工具包)。类里的算法看起来跟公式会有点出入,一方面我自己也是从网上东拼西凑弄回来的,另一方面我把S和L/B的取值范围从0原创 2014-08-01 11:38:00 · 749 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载十九)
1.4 浅析亮度与灰度/明度的关系 进入正题之前,先来了解一下灰度/明度。1.4.1 灰度/明度的概念及其与HSB亮度的异同 在很多场合,灰度与明度的概念完全等价。 “灰度”最初来源于摄影领域,在彩色显像技术问世以前,拍摄出来的照片只有黑,白,灰三类颜色,在这种黑白照片里,只有白色、黑色以及灰色的点能完好无损地显示出来,其它颜色将根据其亮原创 2014-08-02 16:05:13 · 828 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载九)
线性提高亮度(图 1.4):_myColorTransform.redOffset = _myColorTransform.greenOffset = _myColorTransform.blueOffset = 100; 线性降低亮度(图 1.5):_myColorTransform.redOffset = _myColorTransform.greenOffset = _myC原创 2014-07-30 17:28:43 · 688 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载三)
出自唐代著名诗人白居易的《忆江南》一诗中,一句“日出江山红胜火,春来江水绿如蓝”就把苏杭一带秀丽明艳的的江南风光描绘得细致传神。从科学的角度看,其精华之处就在于诗人仅以红绿蓝三种颜色,就把蓝天白云下花红水绿的景观刻画得淋漓尽致。 本诗用词浅显易懂,诗句朗朗上口,因此被多次收录到各地的小学语文教材中作为基础的写景诗进行讲解。同理,我也将以诗中所提到的红绿蓝三种颜色开启本书的艺术编程原创 2014-07-30 00:04:07 · 653 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载二)
全书共分3部分。第一部分介绍色彩的相关知识及Flash,Photoshop等可视化软件在图形图像处理方面的一些特性,包括常用的色彩模式,Photoshop图层效果,ActionScript滤镜,混合模式等知识,并指出这些特性在不同软件下的异同。第二部分以应用数学为思想,以BitmapData,像素为工具,深入剖析各种图像处理技术的工作原理,让读者可以深入到算法的层面上认识图像处理,在Act原创 2014-07-29 18:45:23 · 760 阅读 · 5 评论 -
ActionScript3游戏中的图像编程(连载八)
按F11/Ctrl+F11测试,效果如图 1.2所示。如果上下两组小圆色彩上看起来有所差别,那就请您校对下,看是否在输入代码的过程中出现了笔误,同时注意检查您的显示器是否因为老化,视角等问题而导致同种颜色在不同的位置有不同的效果。因为现在的代码仅仅做了一次赋值,中途并没有对ColorTransform进行其它处理。 图 1.2 变换前的效果 下面就先从效果最明显的color原创 2014-07-30 17:23:27 · 521 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载十)
线性提高红色的成分(图 1.9):_myColorTransform.redOffset = 127; 线性减弱红色的成分(图 1.10):_myColorTransform.redOffset = -127; 倍乘提高红色的成分(图 1.11):_myColorTransform.redMultiplier = 1.5; 倍乘降低红色的成分(图 1原创 2014-08-01 01:03:58 · 525 阅读 · 0 评论 -
原创教程“ActionScript3.0游戏中的图像编程”开始连载啦!
经过近两年的不懈努力,笔者的原创教程《ActionScript3游戏中的图像编程》终于在今日划上了完美的句号!这当中记录着笔者多年来在游戏制作,尤其是当中图像处理方面的经验心得。虽然使用的语言是目前可能正在没落的ActionScript3.0,但由于其中渗透着深刻的编程思想和实用技巧,因此其意义已经远远超越了ActionScript本身。您可以把从本书学到的知识轻松移植到其他支持图像编程的开发语言原创 2014-07-30 17:59:24 · 1949 阅读 · 1 评论 -
ActionScript3.0游戏中的图像编程(连载一)
1946年,计算机在第三次工业革命的推动下得以诞生并发展。从此地球上多了一类人,他们的世界很简单,每天不是和0接触,就是跟1来往。他们低调做人,高调做事,他们务实为民,不求名利,他们,就是可爱可人,可歌可泣的IT工作者——程序员! 都说程序员不善表达,没错,离开0和1,程序员就几乎不会说话了。与此同时,程序员也恰恰是最善于表达的人,他们只用0和1这两个数字,就可以准确无误地将用户的原创 2014-07-30 18:02:12 · 1063 阅读 · 3 评论 -
ActionScript3游戏中的图像编程(连载十五)
1.3.1 HSB模式的色彩空间模型及其分支 第一次接触HSB模式的原理,是从以下这个地址开始的。 http://zh.wikipedia.org/wiki/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4 图1.21是我从上面的文章拷过来的一张色彩空间示意图,可见HSB在业界至少还可以原创 2014-08-01 11:09:04 · 716 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载五)
ARGB是Flash,svg等矢量处理软件特有的一种色彩模式,事实上我觉得它有点扯淡,A(alpha)不应该作为一个通道存在于色彩模式中,它更适合作为一个独立的属性从色彩模式中抽离出来并应用到其他的色彩模式(如HSB,CMYK,LAB等)中。Alpha不之所以Flash这么用,个人认为有3个原因: 1 Flash并非专业的图形软件,将它与RGB一视同仁,可以帮助AS3程序员更方便原创 2014-07-30 00:34:47 · 696 阅读 · 1 评论 -
ActionScript3游戏中的图像编程(连载七)
新建一个ActionScript项目,名为ShapeColorTransformTest,我在里面创建几个不同颜色的小圆,观察它们在应用了colorTransform之后的变化。代码如下:package{[SWF(width = "800", height = "600")] public class ShapeColorTransformTest extends Sprite{原创 2014-07-30 17:18:55 · 663 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载十二)
1.1.1 线性提高或降低alpha值提高alpha(图 1.14):_myColorTransform.alphaOffset = 100;降低alpha值(图 1.15):_myColorTransform.alphaOffset = -100; 图 1.14 线性提高alpha 图 1.15 线性降低alpha 粗略一看,它跟设置alpha没什么两样,但仔细原创 2014-08-01 01:35:34 · 513 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载十四)
1.3 HSB模式及其与RGB间的转换 从上两节的讨论可知,RGB模式是一个数理性质较强的概念,对于大部分色彩来说,您很难通过RGB的数值得知它代表什么颜色,以及它的明暗和鲜艳程度。 《忆江南》的景观之所以能直接用最简单的三原色来渲染,完全是因为他所描绘的江南美景足够的清澈纯净,而且颜色的种类较少。 实际上,大多数情况下,颜色的种类远不止红绿蓝原创 2014-08-01 11:00:29 · 784 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载十三)
1.2.9 用ColorTransform实现反色效果 本节的最后,我给大家来一个稍稍有点意思的效果——反色。这种颠覆性的变换,线性的ColorTransform也能做到?答案是肯定的!所谓的反色,就是白变黑,黑变白,浅变深,深变浅,它的计算公式也非常简单,用100%减去原值就能得到结果色。即dst = 255 – src;套到ColorTransform的计算公式中,就有:原创 2014-08-01 02:07:09 · 503 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载六)
flash.geom.ColorTransform是Flash内置的一个色彩变换类。它支持色彩通道值的线性变换。所谓线性变换,是指一次函数模式的变换:dst = src * multiplier + offset。您可以将每个通道的值与常量进行四则运算。对于ColorTransform类而言,通道的原数值和变换后的数值存在以下关系:red(dst) = red(src) * redMult原创 2014-07-30 17:03:07 · 619 阅读 · 0 评论 -
《从零开始学粒子》系列教程(一)——绚丽的烟花雨效果预览(有源文件)
用ActionScript3.0制作的七彩烟花雨效果,配以彩色的烟雾和银光泻地的光粒特效,在繁星璀璨的夜空里营造出烟火般绚丽的画面。原创 2014-07-29 22:22:49 · 832 阅读 · 3 评论 -
ActionScript3游戏中的图像编程(连载十六)
1.3.2 软件中的拾色器如何实现HSB的色彩空间模型 阅读本书的朋友恐怕很少有机会见到圆柱形的三维取色器,而HSB模式却是一个立体的空间。那么,软件里的颜色拾取器是如何在平面里体现出3D坐标系的呢?让我们从Windows调色板开始研究。 图1.22是Windows系统调色板的界面,抛开左侧的颜色列表不谈,我们可以把Windows调色板分为两个部分:一个二维的平原创 2014-08-01 11:23:31 · 753 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载十七)
首先,HSL和HSV对H的定义一致,公式如下: max=min意味着R,G,B三个值始终相等,只能是白,灰,黑这三类颜色了,色相值在这种情况下没有任何意义,所以让它等于0。然后,HSB模式将色相环等分成三个120度的区间(图 1.28)。 图 1.28色相环的区间分布 [0,60]U[300,360]为红色区间,[60,180]为绿色区间,[180,300]为蓝色区间。原创 2014-08-01 11:35:53 · 828 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(二十)
1.4.2 灰度的计算方法 回过头来看RGB,站在科学的角度来解释,它们确实也有更明亮的理由,因为下面一排色彩反射出来的色光总量是上一排色的两倍。 为此,作者曾自作聪明地发明了一条“原创”的灰度公式:Gray=(r+g+b)/3 哈哈,用色光总量来表达颜色的灰度想必就比较准确了吧!沾沾自喜一番以后,我还试着用这条自创的定律来转换这张测试原创 2014-08-02 16:09:11 · 1013 阅读 · 0 评论 -
ActionScript3游戏中的图像编程(连载四)
RGB是色光三原色(Red红,Green绿,Blue蓝)的简写,物理学上,自然界的所有颜色都可以分解为这三种色光。不同的颜色,色光的值会有所差别。反过来,任何颜色都可以通过红绿蓝三种色光合成出来。白色把任何色光都反射出来了,所以它的红绿蓝成分都等于100%,黑色不反射任何色光,三原色的成分都等于0%。红色只反射红光,所以红色光等于100%,另外两种色光值为0%。计算机软件习惯将色光称作“通道”,并原创 2014-07-30 00:13:35 · 796 阅读 · 1 评论