在过去的几个小时里,我一直在尝试找出一种在使用 FileReference.upload();
方法上传图像文件之前向图像文件添加水印的方法。上传已经开始工作了。我只需要弄清楚如何在图像文件的右下角获得一个小水印(具有 alpha 透明度的 PNG 图像)。另一件事是,我不想修改源文件。我只想在上传时添加水印。
对于这种类型的设置,您建议采用什么方法?我似乎也找不到任何可以用于此特定事物的预制类(class)。这不是一个很常见的任务吗? 不我无法使用服务器端 (PHP) 来添加水印,因为我直接与服务的 API 通信,而不是通过我的服务器。
最佳答案
您可以将水印(alpha 图像)设置为比您在组或框中上传图像更高的子索引,并且可以将这些容器保存为位图或 jpeg 图像。
<s:BorderContainer width="100%" height="100%" backgroundColor="0x3322ff" id="comp">
<s:Image source="{upload-image-source}" width="100%" height="100%"/>
<s:Image source="{water-mark-image-source(alpha png file)}" width="100%" height="100%"/>
</s:BorderContainer>
您可以将此容器另存为图像。
var bmpd:BitmapData = new BitmapData(comp.width,comp.height);
bmpd.draw(comp);
var jpgenc:JPEGEncoder = new JPEGEncoder(80);
var imgByteArray:ByteArray = jpgenc.encode(bmpd);
关于actionscript-3 - 上传前给图片添加水印? AS3 + 柔性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9653524/