aardio - 制作ico图标

 代码如下:

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio 制作ico图标 by 光庆";right=687;bottom=503)
winform.add(
add={cls="button";text="添加";left=528;top=8;right=672;bottom=48;z=2};
button={cls="button";text="生成";left=528;top=56;right=672;bottom=96;z=3};
plus={cls="plus";left=8;top=8;right=472;bottom=496;edge=1;notify=1;z=1};
scrollbar={cls="scrollbar";left=472;top=8;right=492;bottom=496;edge=1;z=4}
)
/*}}*/
 
import godking.paint
import godking.customPlus
var itemModel = {
    [1]={  	type="rect",  /* 类型:rect */
            rectf={x=5;y=5;width=128;height=128},  /* 矩形区域范围。负数表示距离项目右边或底边的距离。 */
            width=1,     /* 边框宽度。为0则无边框。  */
            color=0xFFDDDDEE,               /* 正常状态下,边框颜色 */
            click = true,
            round=10,
        },
    [2]={   type="img",  /* 类型:img */
            rectf={x=5;y=5;width=128;height=128}, 
            name="img",
            scale = 3;
       },
    [3]={   type="text",  /* 类型:text */
            rectf={x=5;y=138;width=128;height=20},  /*  文本范围。负数表示距离项目右边的距离。 */
            name="size",
            align=1,        /* 文本水平对齐方式。0、(近端)左对齐  1、居中  2、(远端)右对齐 */
            font={name="Tahoma",point=11,color=0xFFFF0000},          
        }
    }
 
var c = godking.customPlus(winform.plus,itemModel,itemList,{
  	itemWidth=138, 	/*项目最小宽度,为0时根据colnum自动计算,所以不能与colnum同时=0*/
 	itemHeight=158,	/*项目最小高度,为0时根据rownum自动计算,所以不能与rownum同时=0*/
})
 
c.onClick = function(itemIndex/*项目索引*/,elemIndex/*元素索引*/,elemID/*元素id*/,elemName/*元素name*/,pageIndex/*当前页项目索引*/,x/*鼠标X坐标*/,y/*鼠标Y坐标*/,disabled/*项目是否禁用*/,itemRect/*项目区域*/,elemRect/*元素区域*/){
    if win.msgboxTest("确定要删除该项吗?") { c.delItem(itemIndex); c.bindScrollbar(winform.scrollbar); c.update(); }
}
 
winform.add.oncommand = function(id,event){
	import fsys.dlg
	var fname = fsys.dlg.open("*.png|*.png|*.jpg|*.jpg")
	if fname {
		var p = godking.paint.fromBitmap(fname);
		var w,h = p.width,p.height;
		p.close();
		if w>256 or h>256 return win.msgboxErr("尺寸大于256,不满足要求!"); 
		c.addItem({img=fname,size= w+"*"+h});
		c.bindScrollbar(winform.scrollbar);
		c.update();
	}
}
 
winform.button.oncommand = function(id,event){
	var ico = godking.paint.icon()
	for(i=1;#c.itemList;1){
		ico.addImage(c.itemList[i].img);
	}
	import fsys.dlg
	var fname = fsys.dlg.save("*.ico|*.ico");
	if fname {
		if ..string.save(fname,ico.getIcon()) win.msgbox("保存完毕")
		else win.msgbox("保存失败")
	}
}
 
winform.show();
win.loopMessage();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值