$.api("GdipCloneImage","int(PTR img,ptr& cloneImage)")
$.api("GdipGetAllPropertyItems","int(PTR img,int totalBufferSize,int numProperties,struct& allItems)")
$.api("GdipGetImageHeight","int(PTR img,int& Height)")
$.api("GdipGetImageHorizontalResolution","int(PTR img,float& resolution)")
$.api("GdipGetImagePixelFormat","int(PTR img,int& PixelFormat)")
$.api("GdipGetImageThumbnail","int(PTR img,int w,int h,pointer& thumb,pointer callback,pointer callbackData )")
$.api("GdipGetImageVerticalResolution","int(PTR img,float& resolution)")
$.api("GdipGetImageWidth","int(PTR img,int& Width)")
$.api("GdipGetPropertyCount","int(PTR img,int& numOfProperty)")
$.api("GdipGetPropertyIdList","int(PTR img,int numOfProperty,struct& list)")
$.api("GdipGetPropertyItem","int(PTR img,int propId,int propSize,string& buffer)")
$.api("GdipGetPropertyItemSize","int(PTR img,int propId,int& size)")
$.api("GdipGetPropertySize","int(PTR img,int& totalBufferSize,int& numProperties)")
$.api("GdipImageGetFrameCount","int(PTR img,struct dimensionID,INT& count)")
$.api("GdipImageGetFrameDimensionsCount","int(PTR img,int& count)")
$.api("GdipImageGetFrameDimensionsList","int(PTR img,struct& dimensionIDs,int count)")
$.api("GdipImageRotateFlip","int(PTR img,int rfType)")
$.api("GdipImageSelectActiveFrame","int(PTR img,struct& dimensionID,int frameIndex)")
$.api("GdipLoadImageFromFile","int(ustring FileName,pointer& Image)")
$.api("GdipLoadImageFromStream","int(POINTER stream,pointer& Image)")
$.api("GdipRemovePropertyItem","int(PTR img,int propId)")
$.api("GdipSaveImageToFile","int(PTR img,ustring FileName,struct clsidEncoder,struct encoderParams)")
$.api("GdipSaveImageToStream","int(PTR img,PTR stream,struct clsidEncoder,struct encoderParams)")
$.api("GdipSetPropertyItem","int(PTR img,struct& Item)")
创建GDI+L图片对象
从内存字符串直接创建图像
创建保存图像参数,用法参考函数源码
数据长度
数值格式
如果是数组仅显示第一个数值
如果value为文本则number字段为空
属性 ID
尝试转换为文本格式的值,
将对象转入 tostring 函数返回此字段。
此字段有可能是根据 value 在 _get 元方法中动态生成。
数据类型
原始数据值。
值可能为文本、buffer、或一个结构体。
如果是结构体,则数组值放在 array 字段里
如果 value 为文本或 buffer 则 number 字段为空
数组值
当前帧索引
修改该属性请使用 selectActiveFrame 函数
复制图像
如果图像是一个动画,创建定时器执行动画
注意每个图像同时只能在一个窗口上创建动画
创建动画前自动删除之前创建的动画定时器
如果图像不是动画,此函数不执行任何操作
成功返回定时器ID
在窗口上创建定时器,
每帧动画触发回调函数,
回调函数owner参数被设为参数@1指定的窗口对象
如果不指定控件,则默认指定为上次创建动画的控件,
如果不指定回调函数,则默认指定为控件的redrawTransparent函数
释放图像
此对象支持自动释放,不必手工调用此函数
如果图像支持动画,则返回一个帧迭代器。
否则此函数返回 null。
遍历动画帧。
每次调用帧迭代器切换到下一帧并返回当前帧所需延时,帧索引。
动画完成迭代器返回 null 。
可选用 @loopCount 参数指定循环所有帧的次数,0 为无限循环。
不指定参数则获取图像默认循环次数。
示例:
for delay,frame in bmp.eachFrame(1) {
bmp.save("/"+frame+".gif");
}
for( tagId,propertyItem in gdipimageObject.eachProperty() ){
propertyItem./*遍历图像属性字段*/
}
[返回对象:gdipExifItemObject](#gdipExifItemObject)
当前分辨率GUID
返回多帧图像每帧延时数值组成的数组,
延时单位为厘秒,即0.01秒
图像帧分辨率列表
该值是GUID数组
从图像获取画布
获取动画循环次数,0为一直循环,
根据 GDI+ 的规则,循环次数为 2 会改为 1,其他不变,
为不影响性能默认不处理这个问题
如果要处理,步骤如下:
1、读取循环次数如果为1就进行下一步
2、在GIF图像数据中搜索关键字"NETSCAPE2.0"
如果找到就将此图像的 $loopCount 属性赋值为2,
注意 plus 控件支持将加载好的GDI+图像作为参数
GIF动画循环次数一般不是0就是1,
其他数值基本无人使用,搞这么复杂是不必要的
返回像素格式
返回所有属性ID数组
返回字段
返回分辨率 xdpi,ydpi
获取缩略图,
返回 gdip.image 对象.
宽度,高度指定新的像素大小,也可以用小于1大于0的小数指定缩放百分比.
高度
是否正在播放动画
图像是否有效
dispose 函数释放以后返回 false
原始高度,
对于一个 gdip.image 对象会一直缓存第一次读取的值
原始宽度,
对于一个 gdip.image 对象会一直缓存第一次读取的值
移除字段
翻转图片
保存图像
使用参数指定的文件路径或加载图片时的路径
根据后缀名自动设定格式,
可选在参数@3使用gdip.encoder.parameter数组指定保存参数
保存图像
使用参数指定的文件路径或加载图片时的路径
根据后缀名自动设定格式
jpg文件可使用第二个参数指定图像质量,
可选在参数@3使用gdip.encoder.parameter数组指定保存参数
添加当前图像到多帧图像
添加其他gdip.image或gdip.bitmap对象到多帧图像,
可选使用参数2指定saveFlag,可选在参数@3使用gdip.encoder.parameter数组指定保存参数
创建多帧图像,参数 @1 指定保存路径,
后续添加图像帧时,参数 @1 不能再指定路径。
在添加所有帧以后调用 saveFlush 函数保存文件。
保存图像到 buffer,返回 buffer 对象,
后缀名默认为"*.jpg",质量默认为100,
可选在参数@3使用gdip.encoder.parameter数组指定保存参数
保存到内存流对象,
该函数成功返回值为流对象
流对象请使用 fsys.stream 创建
后缀名默认为"*.jpg",质量默认为100,
可选在参数@4使用gdip.encoder.parameter数组指定保存参数
设置当前动画帧
修改多帧图像每帧延时数值
参数必须是由数值组成的非空数组,
延时单位为厘秒,即0.01秒
必须在调用saveAdd以前设置
修改字段
如果此图像已运行动画,则停止动画并返回 true
动画帧总数
不是动画返回1
宽度