注:耗子英语水平一般,可能有写地方翻译(或许称不上翻译)的驴唇不对马嘴,但是希望大家能从这
篇文章中学到一点东西:)呵呵。有纰漏的地方希望大家指正。关于PNG的编码模式,请大家自己在搜索引擎上进行查找
AS3中的PNG编码! 作者:kaourantin.net
我希望各位已经使用过了AS3——给我带来了强烈震撼的编程语言!就象广告词中说的一样:“一切皆有可能”;对AS3来讲,真的是这样:)特别是在我们接触到新的类,比如ByteArray 和新的数据类型,比如UINT、INT。本文为这些特性提供了一个具体的实例,程序的代码并不完全是我所编写的,我只是修正了原来程序中的一些BUG。这是一个单纯的PNG编码工具,但我们可以感受到它能为我们带来的强大功能:我们只需要输入一个bitmapdata数据,程序会为我们返回已经进行完PNG编码的ByteArray数据。接下来我们可以做的更多,比如传送到我们的服务器,进行图片处理。原来我们要通过zlib进行烦琐的数据压缩,而现在,对AS3来说,这真的只是小菜一碟!
这个类的具体用法如下,你只需要建立一个BitMapData类,然后通过以下方式使用本类就可以了:
var myPNG:ByteArray = PNGEnc.encode(myBitmapData);
怎么样!非常简单吧?当然。我们可以通过继承使它工作的更好~那么让我们一起来看一下完成这些工作的类代码:
import flash.geom.*;
import flash.display.*;
import flash.util.*;
public class PNGEnc
{
public static function encode(img:BitmapData):ByteArray
{
// 建立输出用ByteArray类型数据
var png:ByteArray = new ByteArray();
//写入PNG头文件
png.writeUnsignedInt(0x89504e47);
png.writeUnsignedInt(0x0D0A1A0A);
// 建立IHDR数据块
var IHDR:ByteArray = new ByteArray();
IHDR.writeInt(img.width);
IHDR.writeInt(img.height);
IHDR.writeUnsignedInt(0x08060000);
// 32位RGBA的处理
IHDR.writeByte(0);
writeChunk(png,0x49484452,IHDR);
// 建立IDAT数据块
var IDAT:ByteArray= new ByteArray();
for(var i:int=0;i
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1754.html
发表评论
-
flash进度控制条
2010-04-10 13:27 488这是我在做flash mv时做的,看下效果: 下面是代码: / ... -
Flash打造美女影片指导进度条
2010-04-10 13:26 515我们制作一个好看的影片导入进度条。 先看效果。 准 ... -
详谈flash Loading教程
2010-04-10 13:26 743[1b]Loading的制作[/1b] ... -
简单的flash播放进度控制条
2010-04-10 13:26 574实际运用时,将下列源文件中的Control_progress ... -
Flash基础理论课:制作Loading思路详解(附图)
2010-04-10 13:26 399[1b] [/1b] [1b]思路:[/1b] 1、制作一个1 ... -
初探as3的事件对象
2010-04-09 13:52 631code: this.addEventListener(M ... -
初探as3的事件对象
2010-04-09 13:52 572code: this.addEventListener(M ... -
AS3中的PNG编码—用FLASH生成PNG
2010-04-09 13:51 702注:耗子英语水平一般,可能有写地方翻译(或许称不上翻译)的驴 ... -
利用AS3来读取MP3的ID3档案资料
2010-04-09 13:51 581这个范例是使用在AS3中的URLStream和ByteArra ... -
美女遮罩效果
2010-04-08 11:13 538效果预览: 教程原文: 打包文件 源码下载 本文转自:http ... -
漫画绘制技法大放送(上)
2010-04-08 11:13 481网络收集整理(jundark) [1b]一、人体基本结构[/1 ... -
flash动画形变讨论二:低头
2010-04-08 11:13 577上次说了基本的形变,现在说下提示点,提示点是控制图形变化的基本 ... -
卡通娃娃360度转身动画
2010-04-08 11:13 497超人表情原创大赛正如火如荼的进行中,对于初哥可能就望钱兴叹了, ... -
指针随鼠标移动的flash卡通时钟
2010-04-08 11:12 494。先看下时钟效果: var fnum:Number = ... -
漫画绘制技法大放送(上)
2010-04-08 09:27 475网络收集整理(jundark) [1b]一、人体基本结构[/1 ... -
flash动画形变讨论二:低头
2010-04-08 09:27 495上次说了基本的形变,现在说下提示点,提示点是控制图形变化的基本 ... -
卡通娃娃360度转身动画
2010-04-08 09:27 471超人表情原创大赛正如火如荼的进行中,对于初哥可能就望钱兴叹了, ... -
指针随鼠标移动的flash卡通时钟
2010-04-08 09:27 564。先看下时钟效果: var fnum:Number = ... -
动画人物运动规律与节奏
2010-04-08 09:26 563本文转自:h ... -
Flash鼠绘入门第十一课:可爱瓢虫的绘制
2010-04-07 12:45 663瓢虫或许是花园中最富盛名,也是最受喜爱的居民,因为它们乖巧迷人 ...
相关推荐
flash as3 加载外部swf jpg gif png loader urlloader的通用代码
C++生成背景透明PNG,个人用VS2010写的测试项目,代码有点乱,直接用VS2010打开编译运行,生成的透明PNG的目录为:C:\win.png,有问题请留言!!!
由png图片直接生成keil c可用的图标,用于单片机写界面用
ICO和PNG图标转来转去,支持PNG格式和ICO格式的图标相互转换。
java语言,支持把xml进行base64加密后作为参数,或者使用未加密的xml作为参数,直接生成png图片,具体逻辑可在代码中自行调整。
Arcmap将shp生成png操作流程。一款软件的介绍和使用,可以帮助你将电子地图格式的地图(.shp)转化为你要的.png格式的图片。
lodepng, 在C 和 C 中,PNG编码器和解码器 LodePNGC 和 C 中的PNG编码器和解码器。主页:http://lodev.org/lodepng/只需要两个文件即可让你的程序读取和写入PNG文件: lodepng.cpp 和 lodepng.h.对于C,可以将
用户批量png序列帧生成webp动画工具,希望可以帮到大家!
用png格式的图片生成ico格式的图标。用png格式的图片生成ico格式的图标。
只需要给出stander状态就可以自动生成stander highlight press disable 4个状态的图片
3、窗体中插入image1控件 4、在调用位置,加入如下代码就OK啦! var Png: TPngObject; begin Png := TPngObject.Create; try Png.LoadFromFile(getcurrentdir() + '\test.png'); img1.Picture.Assign...
代码可以将json文件中的label存储为png图像文件。对于多类分割任务,整个文件夹下生成的所有label图像中,不同图像中的相同类别的目标在label.png中可能对应相同的灰度值,使标注的label具备统一性。
大张png图片分割成一个一个的小的png图工具, 多张小图转成图集texture,生成plist文件,适合unity,cocos开发者
3、窗体中插入image1控件 4、在调用位置,加入如下代码就OK啦! var png: tpngimage; begin png := tpngimage.Create; png.LoadFromFile(getcurrentdir() + '\pic.png'); Image1.Picture.Bitmap.Assign(png...
在做delphi UI界面的时候,经常会碰到需要用到透明背景的png图片,原生代码无法满足,这里写了一个例子供大家参考,安装完控件之后,dephi原来的Image控件就支持png了
android 中制作 .9.png uniapp 中制作 启动封面 对应文章 https://blog.csdn.net/nicepainkiller/article/details/109624609
利用CImage类读取png格式的图片生成精灵动画 /* 写此代码是为了教学所用,因为在网络上找了很久都没有找到一个利用CImage类来实现精灵动画的源码。图片使用的是网络资源,如有侵权,请联系成都信息工程学院计算机...
将一个PowerShell脚本嵌入到PNG文件的像素中,并生成一个oneliner来执行
PNG2JPG(png批量转jpg软件)是一款绿色小巧的png转jpg工具,将PNG直接拖入就可以轻松转换成jpg格式,支持批量转换,并且,在不影响图片透明度的情况下,还将图片压缩至最小,方便...3 会在原png图片目录下生成新jpg文件