aardio中获取网络图片经GDI处理后保存到本地

发布时间 2023-07-10 14:59:33作者: 周文豪

下面的代码是将图片保存到/img目录下:

代码如下:

import process; 
import fsys.stream;
import gdip.bitmap;
import inet.http;

//获取一个网络图片
var pngData = inet.http().get("http://www.baidu.com/img/baidu_logo.gif");

//转换为GDI对象处理
var bitmap = gdip.bitmap( pngData ); // 创建GDI+位图对象

//转换为文件流
var stream = fsys.stream();
bitmap.saveToStream(stream,"*.png"); // 转换为文件流

//获取图片字符串 保存到本地
var str  = stream.readAll();
string.save("/img/test.png",str );

process.explore_select("/img/test.png"); //打开资源管理器,选定该文件

保存后的文件如下:

上面的代码将保存的文件名写死了,我们可以将文件名做成随机的

import process; 
import fsys.stream;
import gdip.bitmap;
import inet.http;

//获取一个网络图片
var pngData = inet.http().get("http://www.baidu.com/img/baidu_logo.gif");

//转换为GDI对象处理
var bitmap = gdip.bitmap( pngData );

//转换为文件流
var stream = fsys.stream();
bitmap.saveToStream(stream,"*.png");

//获取图片字符串 保存到本地
var str  = stream.readAll();
var fileName = "pic-"+time.stamp() + math.random(1000,9999)+".png"
var relativePath = "/img/"+fileName
string.save(relativePath,str );

process.explore_select(relativePath);

保存后的文件如下: