aardio 文档

gdip.bitmap 库模块帮助文档

gdip 成员列表

gdip.BitmapData

class {  
    int Width;
    int Height;
    int Stride;
    int PixelFormat;
    pointer Scan0;
    int Reserved;  
}

gdip.BitmapData()

返回对象:gdiBitmapDataObject

gdip.BitmapGetPixel

$.api("GdipBitmapGetPixel","int(POINTER Bitmap,int x,int y,int& color)")

gdip.BitmapLockBits

$.api("GdipBitmapLockBits","int(POINTER Bitmap,struct rect,int flags,int PixelFormat,struct& lockedBitmapData)")

gdip.BitmapSetPixel

$.api("GdipBitmapSetPixel","int(POINTER Bitmap,int x,int y,int color)")

gdip.BitmapSetResolution

$.api("GdipBitmapSetResolution","int(POINTER Bitmap,float xdpi,float ydpi)")

gdip.BitmapUnlockBits

$.api("GdipBitmapUnlockBits","int(POINTER Bitmap,struct  lockedBitmapData)")

gdip.CloneBitmapArea

$.api("GdipCloneBitmapArea","int(float x,float y,float cx,float cy,int pixFormat,ptr bmp,ptr& bmp2)")

gdip.CreateBitmapFromFile

$.api("GdipCreateBitmapFromFile","int(string FileName,pointer& Bitmap)")

gdip.CreateBitmapFromGraphics

$.api("GdipCreateBitmapFromGraphics","int(int Width,int Height,pointer Graphics,pointer& Bitmap)")

gdip.CreateBitmapFromHBITMAP

$.api("GdipCreateBitmapFromHBITMAP","int(POINTER hbm,int hpal,pointer& Bitmap)")

gdip.CreateBitmapFromHICON

$.api("GdipCreateBitmapFromHICON","int(POINTER hicon,pointer& Bitmap)")

gdip.CreateBitmapFromScan0

$.api("GdipCreateBitmapFromScan0","int(int Width,int Height,int stride,int PixelFormat,pointer scan0,pointer& Bitmap)")

gdip.CreateBitmapFromStream

$.api("GdipCreateBitmapFromStream","int(POINTER stream,pointer& Bitmap)")

gdip.CreateHBITMAPFromBitmap

$.api("GdipCreateHBITMAPFromBitmap","int(POINTER Bitmap,pointer& hbmReturn,int background)")

gdip.bitmap()

返回对象:gdipbitmapObject

gdip.bitmap(com.picture对象)

com.pictrue对象转换为GDI+位图

gdip.bitmap(graphics对象,100,100)

从指定的graphics对象创建GDI+位图副本
对位图的修改不会影响原来的graphics对象
参数(graphics对象,宽度,高度)

gdip.bitmap(位图句柄)

从位图句柄创建bitmap对象
不会销毁传入的位图,须自行释放

gdip.bitmap(图标句柄,1/*_IMAGE_ICON*/)

从图标句柄创建bitmap对象
不会销毁传入的位图,须自行释放

gdip.bitmap(图片文件路径或数据)

创建GDI+位图对象
如果事先导入标准库 inet.http,这里也可以直接传入图像网址

gdip.bitmap(宽,高)

创建指定大小空位图

gdip.bitmap(宽,高,像素格式,内存指针,行扫描宽度)

自内存指针创建指定大小位图
像素格式使用 _GdipPixelFormat 前缀的常量表示。
行扫描宽度一般指素所占字节数乘以图像宽度,必须对齐为4字节的整数倍

gdip.createBitmapFromHandle( ,_IMAGE类型)

从句柄创建位图对象

gdip.loadBitmapFromString(请输入图片数据)

从内存字符串直接创建位图

gdip.loadCachedBitmap

创建并返回图像,如果不是动画则缓存该位图

gdip.loadCachedBitmap(图像路径或数组,缓存键名)

缓存名为可选参数,默认以路径为缓存名
如果参数@1是图像数据则可以使用参数@2指定缓存名,

返回位图对象,
如果缓存键名明确指定为false,
则不使用缓存直接创建并返回位图

gdip.bitmap 成员列表

位图对象

创建位图对象
失败返回null,以及错误信息

gdip.bitmap.is()

参数 @1 是否 gdip.bitmap 对象

全局对象 成员列表

loadCachedBitmap()

返回对象:gdipbitmapObject

gdiBitmapDataObject 成员列表

gdiBitmapDataObject.Height

高度

gdiBitmapDataObject.PixelFormat

像素格式,
使用 _GdipPixelFormat 前缀的常量表示

gdiBitmapDataObject.Scan0

字节数组指针

gdiBitmapDataObject.Stride

每行字节宽度,一般指像素所占字节数乘以图像宽度。
该宽度总是对齐为4字节的整数倍,可能比像素所占的字节宽度大。
该值如果为负数表示Scan0指向最后一行

gdiBitmapDataObject.Width

宽度

gdiBitmapDataObject.bits.rows.bytes[]

字节数组
32位RGB,每像数字节顺序为Blue,Green,Red,Alpha
24位RGB,每像数字节顺序为Blue,Green,Red

gdiBitmapDataObject.bits.rows.pixels[]

像素数组,32位整数
使用lockData32获取32位位图数据时才有这个值

gdiBitmapDataObject.bits.rows[]

像素行数组

gdipbitmapObject 成员列表

gdipbitmapObject.activeFrame

当前帧索引
修改该属性请使用SelectActiveFrame函数

gdipbitmapObject.clone

复制位图

gdipbitmapObject.clone()

返回对象:gdipbitmapObject

gdipbitmapObject.clone(x,y,cx,cy,pixelFormat)

x,y指定复制区域起始坐标
cx,cy指定复制区域大小,所有参数可选,默认复制全图
像素格式默认为_GdipPixelFormat32bppARGB

gdipbitmapObject.copy()

复制位图
可选在参数中指定gdip.imageAttributes对象用于控制显示属性

返回对象:gdipbitmapObject

gdipbitmapObject.copyHandle("icon")

创建并返回 HICON 图标句柄

gdipbitmapObject.copyHandle(宽度,高度)

创建并返回 HBITMAP 位图句柄
可选指定宽度、高度

gdipbitmapObject.createAnimation

如果图像是一个动画,创建定时器执行动画
注意每个图像同时只能在一个窗口上创建动画
创建动画前自动删除之前创建的动画定时器
如果图像不是动画,此函数不执行任何操作
成功返回定时器ID

gdipbitmapObject.createAnimation(窗口对象,回调函数)

在窗口上创建定时器,
每帧动画触发回调函数,
回调函数owner参数被设为参数@1指定的窗口对象

如果不指定控件,则默认指定为上次创建动画的控件,
如果不指定回调函数,则默认指定为控件的redrawTransparent函数

gdipbitmapObject.dispose()

释放图像
此对象支持自动释放,不必手工调用此函数

gdipbitmapObject.eachFrame()

如果图像支持动画,则返回一个帧迭代器
每次调用帧迭代器切换到下一帧并返回当前帧所需延时
动画完成返回0

gdipbitmapObject.eachProperty

for( id,propertyItem in gdipbitmapObject.eachProperty() ){
     propertyItem.
}

gdipbitmapObject.eachProperty()

返回对象:gdipExifItemObject

gdipbitmapObject.expandBitmap

使用九宫格绘图创建新的位图对象,
九宫格切图后边角四格固定,中间五格拉伸

gdipbitmapObject.expandBitmap()

返回对象:gdipbitmapObject

gdipbitmapObject.expandBitmap(输出宽,输出高,上,右,下,左)

所有参数为数值,不可省略
返回新的位图对象

gdipbitmapObject.frameDimension

当前分辨率GUID

gdipbitmapObject.getFrameDelays()

返回多帧图像每帧延时数值组成的数组,
延时单位为厘秒,即0.01秒

gdipbitmapObject.getFrameDimensionsList()

图像帧分辨率列表
该值是GUID数组

gdipbitmapObject.getGraphics()

从图像创建画布

返回对象:gdipgraphicsObject

gdipbitmapObject.getLoopCount()

动画循环次数
0为一直循环

gdipbitmapObject.getPixel(x,y)

读取位图指定坐标(x,y)的ARGB颜色值

gdipbitmapObject.getPixelFormat()

返回像素格式

gdipbitmapObject.getPropertyIds()

返回所有属性ID数组

gdipbitmapObject.getPropertyItem()

返回对象:gdipExifItemObject

gdipbitmapObject.getPropertyItem(属性ID)

返回字段

gdipbitmapObject.getResolution()

返回分辨率xdpi,ydpi

gdipbitmapObject.getThumbnail()

返回对象:gdipimageObject

gdipbitmapObject.getThumbnail(宽度,高度,是否保持比例)

获取缩略图,
返回 gdip.image 对象.
宽度,高度指定新的像素大小,也可以用小于1大于0的小数指定缩放百分比.

gdipbitmapObject.height

高度

gdipbitmapObject.isCached()

该对象已被缓存

gdipbitmapObject.isPlaying()

是否正在播放动画

gdipbitmapObject.isValid()

图像是否有效
dispose函数释放以后返回false

gdipbitmapObject.lockData

锁定图像内存
返回gdip.BitmapData结构体
与lockMemory不同的是使用bits数组存储图像数据

gdipbitmapObject.lockData()

返回对象:gdiBitmapDataObject

gdipbitmapObject.lockData(rect,_GdipPixelFormat32bppARGB,flags)

所有参数可选,
默认使用图像的像素格式。
@rect 参数可用 ::RECT 结构体指定区块位置

gdipbitmapObject.lockData32

如果返回32位像素格式
则bits.rows[].pixels[]像素数组非空
否则返回bits.rows[].bytes字节数组

gdipbitmapObject.lockData32()

返回对象:gdiBitmapDataObject

gdipbitmapObject.lockData32(rect,_GdipPixelFormat32bppARGB,flags)

所有参数可选,
默认使用_GdipPixelFormat32bppARGB像素格式获取数据。
@rect 参数可用 ::RECT 结构体指定区块位置

gdipbitmapObject.lockMemory

锁定图像内存
返回gdip.BitmapData结构体

gdipbitmapObject.lockMemory()

返回对象:gdiBitmapDataObject

gdipbitmapObject.lockMemory(rect,_GdipPixelFormat32bppARGB,flags)

所有参数可选,
默认使用图像的像素格式。
@rect 参数可用 ::RECT 结构体指定区块位置

gdipbitmapObject.origHeight

原始高度,
对于一个 gdip.bitmap 对象会一直缓存第一次读取的值

gdipbitmapObject.origWidth

原始宽度,
对于一个 gdip.bitmap 对象会一直缓存第一次读取的值

gdipbitmapObject.removePropertyItem(属性ID)

移除字段

gdipbitmapObject.rotateFlip(_GdipRotate指定翻转选项)

翻转图片

gdipbitmapObject.save("字符串参数")

保存图像
使用参数指定的文件路径或加载图片时的路径
根据后缀名自动设定格式,
可选在参数@3使用gdip.encoder.parameter数组指定保存参数

gdipbitmapObject.save("字符串参数",80)

保存图像
使用参数指定的文件路径或加载图片时的路径
根据后缀名自动设定格式
jpg文件可使用第二个参数指定图像质量,
可选在参数@3使用 gdip.encoder.parameter 数组指定保存参数

gdipbitmapObject.saveAdd()

添加当前图像到多帧图像

gdipbitmapObject.saveAdd(图像)

添加其他gdip.image或gdip.bitmap对象到多帧图像,
可选使用参数2指定saveFlag,可选在参数@3使用gdip.encoder.parameter数组指定保存参数

gdipbitmapObject.saveAdd(图像路径)

创建多帧图像,参数指定保存路径,
使用saveAdd添加帧,添加帧参数@1不能指定路径,
添加所有帧以后调用saveFlush函数即可

gdipbitmapObject.saveToBuffer(后缀名,输出质量)

保存图像到 buffer,返回 buffer,
后缀名默认为"*.jpg",质量默认为100,
可选在参数@3使用gdip.encoder.parameter数组指定保存参数

gdipbitmapObject.saveToStream

保存到内存流对象
该函数成功返回值为流对象

gdipbitmapObject.saveToStream()

返回对象:fsysStreamObject

gdipbitmapObject.saveToStream(流对象,后缀名,输出质量)

流对象请使用 fsys.stream 创建
后缀名默认为"*.jpg",质量默认为100,
可选在参数@4使用gdip.encoder.parameter数组指定保存参数

gdipbitmapObject.selectActiveFrame(帧序号)

设置当前动画帧

gdipbitmapObject.setFrameDelays()

修改多帧图像每帧延时数值
参数必须是由数值组成的非空数组,
延时单位为厘秒,即0.01秒
必须在调用saveAdd以前设置

gdipbitmapObject.setPixel(x,y,argb)

设定位图指定坐标(x,y)的ARGB颜色值

gdipbitmapObject.setPropertyItem(字段结构体)

修改字段

gdipbitmapObject.setResolution(xdpi,ydpi)

设置分辨率
注意只能用来设置新建位图

gdipbitmapObject.split

将图片按指定的行数列数平均拆分为小图片

gdipbitmapObject.split().map(命名表)

gdipbitmapObject.split().map(  
    default = 1;  
    hover = 2;  
    active = 3;/*返回一个新表  
键保持与参数相同,值自动设置为指定位置的图像*/  
)

gdipbitmapObject.split(列数,行数,上,右,下,左)

将图片按指定的行数列数平均拆分为小图片
可选指定小图片的上、右、下、左边距
返回一维数组

gdipbitmapObject.stopAnimation()

如果此图像已运行动画,则停止动画

gdipbitmapObject.totalFrames

动画帧总数
不是动画返回1

gdipbitmapObject.unlockData(bmpData)

解锁图像内存
参数必须是lockData,lockData32函数锁定返回的gdip.BitmapData结构体

gdipbitmapObject.unlockMemory(bmpData)

解锁图像内存
参数必须是lockMemory函数锁定返回的gdip.BitmapData结构体

gdipbitmapObject.width

宽度

Markdown 格式