我正在构建一个图像处理Web应用程序。我是Action Script的新手。我很困惑是否使用Adobe Flash Professional或Adobe Flash Builder。我已经冲浪了很多次,但无法做出任何结论。 另外,请向我推荐一些关于动作脚本的好教程。 非常感激。
答案 0 :(得分:1)
您可以通过Flash Builder和Apache Flex SDK执行您想要的任何类型的图像处理。我做了很多这类工作。您可以在ActionScript中按需操作像素。您还可以执行用于存储像素数据的巧妙技巧。例如,我从精灵和人们在舞台上画的东西制作视频。为了节省最终构造的精灵中的空间,我能够做到这样的事情:
var bitmap:Bitmap = loader.content as Bitmap;
var bitmapData:BitmapData = bitmap.bitmapData;
var byteArray:ByteArray = new ByteArray();
byteArray.writeUnsignedInt(bitmapData.width);
bitmapData.copyPixelsToByteArray(bitmapData.rect, byteArray);
byteArray.compress();
顺便说一句,如果你想在本地保存这些图像,请使用FileStream和File.applicationStorageDirectory.resolvePath()函数。
然后,当您需要将压缩字节恢复为图像时,可以执行以下操作:
var bytes:ByteArray = bytesFromStoredByteArray;
bytes.uncompress();
var width:int = bytes.readUnsignedInt();
var height:int = ((bytes.length - 4) / 4) / width;
var bitmapData:BitmapData = new BitmapData(width, height, true);
bitmapData.setPixels(bitmapData.rect, bytes);
API中有许多用于处理像素的方法。您几乎可以使用Flash Builder和Apache Flex SDK执行任何操作。
当我第一次学习时,我使用了Adobe支持的Flex in a Week程序。 http://www.adobe.com/devnet/flex/videotraining.html
然而,虽然Flex in a Week会教你Flex,但我个人并不建议你经常使用Flex。我在非常有限的环境中使用Flex,并且无论何时何地都可以使用ActionScript。我从未使用过任何教程来学习ActionScript。相反,我只是在需要知道某些内容时查看了API,因为编程约定与Java非常相似 - 我已经很清楚了 - 我很容易熟悉ActionScript。但是,如果您以前没有使用过异步语言,我建议您在ActionScript中了解事件模型,并知道必须使用它。你永远不应该只运行循环并期望你的程序产生你认为它应该产生的东西。对于要渲染的大多数UI组件使用Flex,对于需要实现的任何编程逻辑使用ActionScript。
要注意的另一个问题是,在AS中经常可以使用事件模型,但仍会导致程序崩溃。因此,如果您有大量图像以某种方式解压缩或操作,请放入计时器以防止程序冻结。如果我的应用程序要安排很多工作,我将允许程序的相关部分运行20 MS,然后将其计时50 MS。通过这样做,应用程序的其余部分保持可用,人们的系统不会崩溃。
祝你好运。如果您对图像处理,操作或ActionScript有特定问题,我很乐意提供帮助。