`
- 浏览:
175924 次
- 性别:
- 来自:
上海
-
下面的AS代码实现了一个PNG的编辑器:
AS 代码
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- package com.adobe.images {
- import flash.geom.*;
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.utils.ByteArray;
-
- public class PNGEncoder
- {
- public static function encode(img:BitmapData):ByteArray {
-
- var png:ByteArray = new ByteArray();
-
- png.writeUnsignedInt(0x89504e47);
- png.writeUnsignedInt(0x0D0A1A0A);
-
- var IHDR:ByteArray = new ByteArray();
- IHDR.writeInt(img.width);
- IHDR.writeInt(img.height);
- IHDR.writeUnsignedInt(0x08060000);
- IHDR.writeByte(0);
- writeChunk(png,0x49484452,IHDR);
-
- var IDAT:ByteArray= new ByteArray();
- for(var i:int=0;i < img.height;i++) {
-
- IDAT.writeByte(0);
- var p:uint;
- var j:int;
- if ( !img.transparent ) {
- for(j=0;j < img.width;j++) {
- p = img.getPixel(j,i);
- IDAT.writeUnsignedInt(
- uint(((p&0xFFFFFF) << 8)|0xFF));
- }
- } else {
- for(j=0;j < img.width;j++) {
- p = img.getPixel32(j,i);
- IDAT.writeUnsignedInt(
- uint(((p&0xFFFFFF) << 8)|
- (p>>>24)));
- }
- }
- }
- IDAT.compress();
- writeChunk(png,0x49444154,IDAT);
-
- writeChunk(png,0x49454E44,null);
-
- return png;
- }
-
- private static var crcTable:Array;
- private static var crcTableComputed:Boolean = false;
-
- private static function writeChunk(png:ByteArray,
- type:uint, data:ByteArray):void {
- if (!crcTableComputed) {
- crcTableComputed = true;
- crcTable = [];
- var c:uint;
- for (var n:uint = 0; n < 256; n++) {
- c = n;
- for (var k:uint = 0; k < 8; k++) {
- if (c & 1) {
- c = uint(uint(0xedb88320) ^
- uint(c >>> 1));
- } else {
- c = uint(c >>> 1);
- }
- }
- crcTable[n] = c;
- }
- }
- var len:uint = 0;
- if (data != null) {
- len = data.length;
- }
- png.writeUnsignedInt(len);
- var p:uint = png.position;
- png.writeUnsignedInt(type);
- if ( data != null ) {
- png.writeBytes(data);
- }
- var e:uint = png.position;
- png.position = p;
- c = 0xffffffff;
- for (var i:int = 0; i < (e-p); i++) {
- c = uint(crcTable[
- (c ^ png.readUnsignedByte()) &
- uint(0xff)] ^ uint(c >>> 8));
- }
- c = uint(c^uint(0xffffffff));
- png.position = e;
- png.writeUnsignedInt(c);
- }
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
《RPG地图编辑器——源码与工具解析》 在游戏开发领域,RPG(角色扮演游戏)地图编辑器是一款至关重要的工具,它允许开发者轻松创建和编辑游戏中的地图场景,为玩家提供丰富的冒险环境。本篇文章将深入探讨RPG地图...
"scripts"目录可能包含了编辑器运行所需的JavaScript或ActionScript代码,这些脚本负责前端的交互逻辑,比如文件选择、预览、上传进度显示等功能。它们与服务器端脚本配合,形成完整的上传和编辑流程。 总结,...
对于有编程基础的用户,SWFQuicker提供了ActionScript编辑器,可以编写和调试ActionScript代码,实现动画的交互性。通过脚本,用户可以控制对象的行为,响应用户事件,实现复杂的逻辑。 5. **音频与视频集成**: ...
ActionScript编辑器,它可以帮助用户编写 ActionScript直接与语法助理 高亮显示,自动成员列表,参数 信息和自动的代码完成,特别 您可以添加文字,形状,电影的效果, 剪辑,完全可以帮你的忙得到 独特的效果,只需...
程序可以查看 的ActionScript1/2的源代码或 3 个部分,将其导出或编辑(代码编辑器AS3)。文本或图像可以被编辑或更换。在 SWF 反编译器还可以导出形状,图像,声音或电影。 SWF 为 FLA 格式转换也可以。JPEXS Free ...
今天我们将深入探讨一个专为此目的打造的工具——pixas-editor,这是一款基于ActionScript开发的等距像素图形编辑器。 一、pixas-editor简介 pixas-editor是专门为等距像素艺术设计的图形编辑器,它允许艺术家们在...
1. FLA文件:这是Flash的源文件,包含了所有图形、动画和ActionScript代码,用于编辑和修改项目。 2. SWF文件:这是编译后的Flash影片,可以在Web浏览器中通过Flash Player插件运行。 3. AS文件:可能包含单独的...
3. **AS (ActionScript)**, **C** 和 **NV (NVIDIA)** 通常与编程语言或图形处理有关,但在这个上下文中,它们并未直接提及。不过,这里可能是指使用JavaScript进行图片编辑器的开发,而不是AS或C这样的传统编程语言...
这篇内容将深入探讨基于ActionScript 3(AS3)的Stage3D技术,这是一种在Flash平台上实现高效2D渲染的框架,其工作原理与OpenGL相似,能够充分利用GPU(图形处理单元)的强大计算能力,为游戏和复杂交互式应用提供...
Shell的概念通常指的是操作系统中的命令解释器,因此在Flash AS3 Shell中,它可能是为用户提供了一种在Flash环境中模拟操作系统命令行操作的方式,或者创建了一个定制的工具集。 【标签】"Flash as3 Shell" 的标签...
Flex是一种基于ActionScript 3的开源框架,用于构建富互联网应用程序(RIA)。它提供了强大的图形渲染和用户界面组件,使得创建像“flex地图编辑”这样的工具成为可能。标题中的“flex地图编辑,可以设置障碍”暗示...
在`engine.as`中,可能定义了鼠标事件监听器,当鼠标移动时,会触发相应的函数,计算新的视角角度,并更新舞台上的3D对象,实现随鼠标转动的效果。 `3d_clock.fla`是Flash的工程文件,包含所有的图形、动画和动作...
1. **图形编辑器**:SWiSH Max3提供了一个直观的图形编辑环境,用户可以轻松绘制矢量图形、添加文本、导入图像以及调整各种形状和线条。它支持多种图形格式,如JPEG、PNG、GIF等。 2. **动画制作**:SWiSH Max3拥有...
在主时间轴上右键单击,选择“动作”以打开ActionScript编辑器。编写如下的AS3代码: ```actionscript var targetX:Number = stage.mouseX; var targetY:Number = stage.mouseY; var character:MovieClip = ...
5. 测试和调试:在编辑器内预览播放器,检查是否正常工作,如果有问题,进行调试和修复。 6. 发布和集成:导出为SWF文件,然后将其嵌入到HTML页面中,或者根据项目需求进行其他形式的集成。 总的来说,"FLASH带预览...
`.fla`文件是Adobe Flash的专业编辑器Flash Professional创建的原始格式,包含所有的图形、动画以及ActionScript代码。以下是如何进行修改的步骤: 1. **打开Flash源文件**:首先,你需要使用Adobe Flash ...
Flash加载器(Loader)是Flash ActionScript 2或ActionScript 3中的一个关键组件,用于动态加载和显示各种类型的媒体内容,如SWF(ShockWave Flash)文件、图像(JPEG、PNG、GIF)、视频(FLV)等。 加载器的工作...
AS3画板工具是一款基于ActionScript 3(AS3)编程语言开发的交互式画板应用程序。AS3是Adobe Flash Professional和Flex Builder等工具的主要编程语言,它属于ECMAScript的一个版本,专为创建富互联网应用(RIA)和...
CSS3是CSS的最新版本,提供了许多新的选择器、布局模式、动画和过渡效果,以及更强大的字体和颜色控制。在这个三屏焦点图中,CSS3可能用于设置元素的样式、实现平滑的动画效果、定义边框和背景的圆角、以及创建阴影...
7. **工具**:标签中的“工具”指的是Photoshop Flex Plugin为用户提供的额外工具,可能包括自定义图形编辑器、特效生成器或其他提高生产力的特性。 通过这个插件,设计师可以利用Flex的灵活性和Photoshop的强大...