class {
int Width;
int Height;
int Stride;
int PixelFormat;
pointer Scan0;
int Reserved;
}
$.api("GdipBitmapGetPixel","int(POINTER Bitmap,int x,int y,int& color)")
$.api("GdipBitmapLockBits","int(POINTER Bitmap,struct rect,int flags,int PixelFormat,struct& lockedBitmapData)")
$.api("GdipBitmapSetPixel","int(POINTER Bitmap,int x,int y,int color)")
$.api("GdipBitmapSetResolution","int(POINTER Bitmap,float xdpi,float ydpi)")
$.api("GdipBitmapUnlockBits","int(POINTER Bitmap,struct lockedBitmapData)")
$.api("GdipCloneBitmapArea","int(float x,float y,float cx,float cy,int pixFormat,ptr bmp,ptr& bmp2)")
$.api("GdipCreateBitmapFromFile","int(string FileName,pointer& Bitmap)")
$.api("GdipCreateBitmapFromGraphics","int(int Width,int Height,pointer Graphics,pointer& Bitmap)")
$.api("GdipCreateBitmapFromHBITMAP","int(POINTER hbm,int hpal,pointer& Bitmap)")
$.api("GdipCreateBitmapFromHICON","int(POINTER hicon,pointer& Bitmap)")
$.api("GdipCreateBitmapFromScan0","int(int Width,int Height,int stride,int PixelFormat,pointer scan0,pointer& Bitmap)")
$.api("GdipCreateBitmapFromStream","int(POINTER stream,pointer& Bitmap)")
$.api("GdipCreateHBITMAPFromBitmap","int(POINTER Bitmap,pointer& hbmReturn,int background)")
com.pictrue对象转换为GDI+位图
从指定的graphics对象创建GDI+位图副本
对位图的修改不会影响原来的graphics对象
参数(graphics对象,宽度,高度)
从位图句柄创建bitmap对象
不会销毁传入的位图,须自行释放
从图标句柄创建bitmap对象
不会销毁传入的位图,须自行释放
创建GDI+位图对象
如果事先导入标准库 inet.http,这里也可以直接传入图像网址
创建指定大小空位图
自内存指针创建指定大小位图
像素格式使用 _GdipPixelFormat 前缀的常量表示。
行扫描宽度一般指素所占字节数乘以图像宽度,必须对齐为4字节的整数倍
从句柄创建位图对象
从内存字符串直接创建位图
创建并返回图像,如果不是动画则缓存该位图
缓存名为可选参数,默认以路径为缓存名
如果参数@1是图像数据则可以使用参数@2指定缓存名,
返回位图对象,
如果缓存键名明确指定为false,
则不使用缓存直接创建并返回位图
位图对象
创建位图对象
失败返回null,以及错误信息
参数 @1 是否 gdip.bitmap 对象
高度
像素格式,
使用 _GdipPixelFormat 前缀的常量表示
字节数组指针
每行字节宽度,一般指像素所占字节数乘以图像宽度。
该宽度总是对齐为4字节的整数倍,可能比像素所占的字节宽度大。
该值如果为负数表示Scan0指向最后一行
宽度
字节数组
32位RGB,每像数字节顺序为Blue,Green,Red,Alpha
24位RGB,每像数字节顺序为Blue,Green,Red
像素数组,32位整数
使用lockData32获取32位位图数据时才有这个值
像素行数组
当前帧索引
修改该属性请使用SelectActiveFrame函数
复制位图
x,y指定复制区域起始坐标
cx,cy指定复制区域大小,所有参数可选,默认复制全图
像素格式默认为_GdipPixelFormat32bppARGB
复制位图
可选在参数中指定gdip.imageAttributes对象用于控制显示属性
创建并返回 HICON 图标句柄
创建并返回 HBITMAP 位图句柄
可选指定宽度、高度
如果图像是一个动画,创建定时器执行动画
注意每个图像同时只能在一个窗口上创建动画
创建动画前自动删除之前创建的动画定时器
如果图像不是动画,此函数不执行任何操作
成功返回定时器ID
在窗口上创建定时器,
每帧动画触发回调函数,
回调函数owner参数被设为参数@1指定的窗口对象
如果不指定控件,则默认指定为上次创建动画的控件,
如果不指定回调函数,则默认指定为控件的redrawTransparent函数
释放图像
此对象支持自动释放,不必手工调用此函数
如果图像支持动画,则返回一个帧迭代器
每次调用帧迭代器切换到下一帧并返回当前帧所需延时
动画完成返回0
for( id,propertyItem in gdipbitmapObject.eachProperty() ){
propertyItem.
}
使用九宫格绘图创建新的位图对象,
九宫格切图后边角四格固定,中间五格拉伸
所有参数为数值,不可省略
返回新的位图对象
当前分辨率GUID
返回多帧图像每帧延时数值组成的数组,
延时单位为厘秒,即0.01秒
图像帧分辨率列表
该值是GUID数组
从图像创建画布
动画循环次数
0为一直循环
读取位图指定坐标(x,y)的ARGB颜色值
返回像素格式
返回所有属性ID数组
返回字段
返回分辨率xdpi,ydpi
获取缩略图,
返回 gdip.image 对象.
宽度,高度指定新的像素大小,也可以用小于1大于0的小数指定缩放百分比.
高度
该对象已被缓存
是否正在播放动画
图像是否有效
dispose函数释放以后返回false
锁定图像内存
返回gdip.BitmapData结构体
与lockMemory不同的是使用bits数组存储图像数据
所有参数可选,
默认使用图像的像素格式。
@rect 参数可用 ::RECT 结构体指定区块位置
如果返回32位像素格式
则bits.rows[].pixels[]像素数组非空
否则返回bits.rows[].bytes字节数组
所有参数可选,
默认使用_GdipPixelFormat32bppARGB像素格式获取数据。
@rect 参数可用 ::RECT 结构体指定区块位置
锁定图像内存
返回gdip.BitmapData结构体
所有参数可选,
默认使用图像的像素格式。
@rect 参数可用 ::RECT 结构体指定区块位置
原始高度,
对于一个 gdip.bitmap 对象会一直缓存第一次读取的值
原始宽度,
对于一个 gdip.bitmap 对象会一直缓存第一次读取的值
移除字段
翻转图片
保存图像
使用参数指定的文件路径或加载图片时的路径
根据后缀名自动设定格式,
可选在参数@3使用gdip.encoder.parameter数组指定保存参数
保存图像
使用参数指定的文件路径或加载图片时的路径
根据后缀名自动设定格式
jpg文件可使用第二个参数指定图像质量,
可选在参数@3使用 gdip.encoder.parameter 数组指定保存参数
添加当前图像到多帧图像
添加其他gdip.image或gdip.bitmap对象到多帧图像,
可选使用参数2指定saveFlag,可选在参数@3使用gdip.encoder.parameter数组指定保存参数
创建多帧图像,参数指定保存路径,
使用saveAdd添加帧,添加帧参数@1不能指定路径,
添加所有帧以后调用saveFlush函数即可
保存图像到 buffer,返回 buffer,
后缀名默认为"*.jpg",质量默认为100,
可选在参数@3使用gdip.encoder.parameter数组指定保存参数
保存到内存流对象
该函数成功返回值为流对象
流对象请使用 fsys.stream 创建
后缀名默认为"*.jpg",质量默认为100,
可选在参数@4使用gdip.encoder.parameter数组指定保存参数
设置当前动画帧
修改多帧图像每帧延时数值
参数必须是由数值组成的非空数组,
延时单位为厘秒,即0.01秒
必须在调用saveAdd以前设置
设定位图指定坐标(x,y)的ARGB颜色值
修改字段
设置分辨率
注意只能用来设置新建位图
将图片按指定的行数列数平均拆分为小图片
gdipbitmapObject.split().map(
default = 1;
hover = 2;
active = 3;/*返回一个新表
键保持与参数相同,值自动设置为指定位置的图像*/
)
将图片按指定的行数列数平均拆分为小图片
可选指定小图片的上、右、下、左边距
返回一维数组
如果此图像已运行动画,则停止动画
动画帧总数
不是动画返回1
解锁图像内存
参数必须是lockData,lockData32函数锁定返回的gdip.BitmapData结构体
解锁图像内存
参数必须是lockMemory函数锁定返回的gdip.BitmapData结构体
宽度